質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1374閲覧

ErrorException Undefined variable: エラー

Mason

総合スコア14

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/09/10 16:49

前提・実現したいこと

現在、laravelにてCRUDアプリ作成しています。
下記エラー出ているのですが、データベースに保存したいです。

発生している問題・エラーメッセージ

定義されていないと出てしまいます。

php

1ErrorException 2Undefined variable: your_name 3http://127.0.0.1:8000/contact

該当のソースコード

ContactFormcontroller.php

php

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7// 呼び出し 8use App\Models\ContactForm; 9 10class ContactFormController extends Controller 11{ 12 /** 13 * Display a listing of the resource. 14 * 15 * @return \Illuminate\Http\Response 16 */ 17 public function index() 18 { 19 $contacts = ContactForm::all(); 20 // dd($contacts); 21 return view('contact.index',compact('contacts')); 22 } 23 24 /** 25 * Show the form for creating a new resource. 26 * 27 * @return \Illuminate\Http\Response 28 */ 29 public function create() 30 { 31 // 32 return view('contact.create'); 33 } 34 35 /** 36 * Store a newly created resource in storage. 37 * 38 * @param \Illuminate\Http\Request $request 39 * @return \Illuminate\Http\Response 40 */ 41 public function store(Request $request) 42 { 43 $contact = new ContactForm; 44 45 46 $contact->$your_name = $request->input('your_name'); 47 $contact->$title = $request->input('title'); 48 $contact->$email = $request->input('email'); 49 $contact->$url = $request->input('url'); 50 $contact->$gender = $request->input('gender'); 51 $contact->$age = $request->input('age'); 52 $contact->$contact = $request->input('contact'); 53 54 $contact->save(); 55 56 return redirect('contact/index'); 57 } 58 59 /** 60 * Display the specified resource. 61 * 62 * @param int $id 63 * @return \Illuminate\Http\Response 64 */ 65 public function show($id) 66 { 67 $contact = ContactForm::find($id); 68 69 return view('contact.show', compact('contact')); 70 } 71 72 /** 73 * Show the form for editing the specified resource. 74 * 75 * @param int $id 76 * @return \Illuminate\Http\Response 77 */ 78 public function edit($id) 79 { 80 $contact = Contact::find($id); 81 return view('contact.edit', compact('contact')); 82 83 } 84 85 /** 86 * Update the specified resource in storage. 87 * 88 * @param \Illuminate\Http\Request $request 89 * @param int $id 90 * @return \Illuminate\Http\Response 91 */ 92 public function update(Request $request, $id) 93 { 94 // 95 } 96 97 /** 98 * Remove the specified resource from storage. 99 * 100 * @param int $id 101 * @return \Illuminate\Http\Response 102 */ 103 public function destroy($id) 104 { 105 // 106 } 107} 108

ContactForm.php

php

1<?php 2 3namespace App\Models; 4 5use Illuminate\Database\Eloquent\Model; 6 7class ContactForm extends Model 8{ 9 protected $fillable = [ 10 'your_name', 11 'title', 12 'email', 13 'url', 14 'gender', 15 'age', 16 'contact' 17 ]; 18 protected $table = 'contactforms'; 19} 20

create.blade.php

php

1<h1>create</h1> 2<a href="{{ route('contact.index') }}">一覧画面</a> 3 4<form method="POST" action="{{ route('contact.store') }}"> 5@csrf 6氏名 7<input type="text" name="your_name"> 8<br> 9件名 10<input type="text" name="title"> 11<br> 12メアド 13<input type="email" name="email"> 14<br> 15ホームページ 16<input type="url" name="url"> 17<br> 18性別 19<input type="radio" name="gender" value="0">男性</input> 20<input type="radio" name="gender" value="1">女性</input> 21<br> 22年齢 23<select name="age"> 24<option value="">選択してください</option> 25<option value="1">~19</option> 26<option value="2">20~29</option> 27<option value="3">30~39</option> 28<option value="4">40~49</option> 29<option value="5">50~59</option> 30<option value="6">60~</option> 31</select> 32<br> 33お問い合わせ内容 34<textarea name="contact"></textarea> 35<br> 36 37<input type="checkbox" name="caution" value="1">注意事項<br> 38 39<input class="btn btn-info" type="submit" value="登録する"> 40</form>

試したこと

phpmyadmin確認し、table,columnはあることを確認しました。

補足情報(FW/ツールのバージョンなど)

ご教授して頂けると光栄です。
Laravel 6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

PHP

1// $contact->$your_name = $request->input('your_name'); 2// ↓(同様箇所も同じで) 3 $contact->your_name = $request->input('your_name');

投稿2021/09/10 17:18

kei344

総合スコア69458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Mason

2021/09/11 00:33

解決しました! また一つ学びました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問