laravel:form_example
文書の過去の版を表示しています。
フォームページを作成する
プロジェクトルートのroutes/web.php
に以下のルートを記載する。
Route:get('/form','FormController@index');
これで、/form
にアクセスするとFormControllerのindexメソッドを呼び出すことが出来る。
コントローラーの作成
FormControllerを作成してindexメソッドを定義する。
php artisan make:controller FormController
これで、app/Http/Controllers
ディレクトリにFormController.phpが作成される。
namespace App\Http\Controllers; use Illuminate\Http\Request; class FormController extends Controller { public function index() { return view('form') } }
この場合、FormControllerクラスにindexメソッドを定義してform.blade.phpビューを表示する.
ビューの作成
resources/views
ディレクトリにform.blade.php
という名前でフォームを表示するビューを作成する。
<!DOCTYPE html> <html> <head> <title>Form</title> </head> <body> <form method="POST" action="/submit"> @csrf <div> <label for="name">Name</label> <input type="text" name="name" id="name"> </div> <div> <label for="email">Email</label> <input type="email" name="email" id="email"> </div> <div> <button type="submit">Submit</button> </div> </form> </body> </html>
フォーム送信先のルート定義
フォームを送信する先のルートを作成する。routes/web.php
に以下を追記
Route::post('/submit', 'FormController@submit');
フォーム内容を処理するためのコントローラーを作成する
namespace App\Http\Controllers; use Illuminate\Http\Request; class FormController extends Controller { public function submit(Request $request) { // フォームの送信内容を取得する $name = $request->input('name'); $email = $request->input('email'); // フォームの送信内容を処理する // ... // 処理が完了したら、リダイレクトする return redirect()->back()->with('success', '送信が完了しました。'); } }
laravel/form_example.1681192301.txt.gz · 最終更新: 2023/04/11 14:51 by mikoto