ユーザ用ツール

サイト用ツール


laravel:form_example

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
laravel:form_example [2023/04/11 14:51] – [ビューの作成] mikotolaravel:form_example [2023/04/11 18:33] (現在) mikoto
行 1: 行 1:
 ====== フォームページを作成する ====== ====== フォームページを作成する ======
 +[[:laravel|一つ上へ]]
 +
 プロジェクトルートの''routes/web.php''に以下のルートを記載する。 プロジェクトルートの''routes/web.php''に以下のルートを記載する。
 <code> <code>
-Route:get('/form','FormController@index');+Route::get('/form', 'App\Http\Controllers\FormController@index'); 
 +Route::post('/submit', 'App\Http\Controllers\FormController@submit');
 </code> </code>
-これで、''/form''にアクセスするとFormControllerのindexメソッド呼び出すとが出る。+これで、''/form''にアクセスするとFormControllerのindexメソッド呼び出され、 
 +''/submit''にアクセスFormControllerのsubmitメソッド呼びされるようになる。
  
 ===== コントローラーの作成 ===== ===== コントローラーの作成 =====
行 13: 行 17:
 これで、''app/Http/Controllers''ディレクトリにFormController.phpが作成される。 これで、''app/Http/Controllers''ディレクトリにFormController.phpが作成される。
 <code php> <code php>
 +<?php
 +
 namespace App\Http\Controllers; namespace App\Http\Controllers;
  
行 23: 行 29:
     return view('form')     return view('form')
   }   }
 +  
 +  public submit(Request $request)
 +    $name = $request->input('name');
 +    $email = $request->input('email');
 +    
 +    // フォームの入力内容を次のビューに渡す
 +    return view('submit', [
 +      'name' => $name,
 +      'email' => $email
 +    ]);
 } }
 </code> </code>
行 53: 行 69:
 </html> </html>
 </code> </code>
- +同様に、結果表示用ビュー''submit.blade.php''作成する。 
-===== フォーム送信先ト定義 ===== +<code html
-フォームを送信する先のルートを作成する。''routes/web.php''に以下追記 +<!DOCTYPE html> 
-<code> +<html
-Route::post('/submit', 'FormController@submit'); +<head> 
-</code+  <title>Result</title
-===== フォーム内容を処理するためのコントローラーを作成する ===== +</head> 
-<code php+<body> 
-namespace App\Http\Controllers; +  <h1>Result</h1> 
- +  <p>Name: {{ $name }}</p
-use Illuminate\Http\Request; +  <p>Email: {{ $name }}</p
- +</body> 
-class FormController extends Controller +</html>
-{ +
-    public function submit(Request $request) +
-    { +
-        // フォームの送信内容を取得する +
-        $name = $request->input('name'); +
-        $email = $request->input('email'); +
- +
-        // フォームの送信内容を処理する +
-        // ... +
- +
-        // 処理が完了したら、リダイレクトする +
-        return redirect()->back()->with('success', '送信が完了しました。'); +
-    } +
-}+
 </code> </code>
laravel/form_example.1681192301.txt.gz · 最終更新: 2023/04/11 14:51 by mikoto