ユーザ用ツール

サイト用ツール


laravel:form_example

差分

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

この比較画面へのリンク

次のリビジョン
前のリビジョン
laravel:form_example [2023/04/11 14:33] – 作成 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メソッド呼びされるようになる。
  
 ===== コントローラーの作成 ===== ===== コントローラーの作成 =====
 FormControllerを作成してindexメソッドを定義する。 FormControllerを作成してindexメソッドを定義する。
-''app/Http/Controllers''ディレクトリにFormController.php作成る。 +<code> 
-<code laravel>+php artisan make:controller FormController 
 +</code> 
 +これで、''app/Http/Controllers''ディレクトリにFormController.php作成される。 
 +<code php> 
 +<?php 
 namespace App\Http\Controllers; namespace App\Http\Controllers;
  
行 20: 行 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>
 +この場合、FormControllerクラスにindexメソッドを定義してform.blade.phpビューを表示する.
 +
 +===== ビューの作成 =====
 +''resources/views''ディレクトリに''form.blade.php''という名前でフォームを表示するビューを作成する。
 +<code html>
 +<!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>
 +</code>
 +同様に、結果表示用のビュー''submit.blade.php''を作成する。
 +<code html>
 +<!DOCTYPE html>
 +<html>
 +<head>
 +  <title>Result</title>
 +</head>
 +<body>
 +  <h1>Result</h1>
 +  <p>Name: {{ $name }}</p>
 +  <p>Email: {{ $name }}</p>
 +</body>
 +</html>
 </code> </code>
laravel/form_example.1681191192.txt.gz · 最終更新: 2023/04/11 14:33 by mikoto