前提・実現したいこと
PHP,laravelで家計簿アプリの作成を勉強中の初心者です。
家計簿の一覧を確認する機能であるshowはうまくいったのですが
発生している問題・エラーメッセージ
家計簿の一覧を確認する機能であるshowはうまくいったのですが
取引を新しく追加するためのstoreから登録処理としてpostの結果をshowに表示しようと試みましたが以下のようなエラーがでてしまいます。
419
Page Expired
該当のソースコード
以下、➀createのhtml、➁showのhtml、➂create,showのコントローラーのソースコードです。
laravel
1 create.blade.php----------------------------------------------------------➀ 2@extends("layouts.layouts") 3 4@section("content") 5 ###<h1>新しい家計簿データを追加</h1> 6 7 <form method="POST" action="/books"> 8 @csrf 9 <div class="form-group"> 10 <label>年度</label> 11 <input type="number" name="year" class="form-control"> 12 </div> 13 <div class="form-group"> 14 <label>対象月</label> 15 <input type="number" name="month" class="form-control"> 16 </div> 17 <div class="form-group"> 18 <label for="product-name">収支区分</label> 19 <div class="form-check"> 20 <input class="form-check-input" type="radio" name="inout" value="1" checked> 21 <label class="form-check-label">収入</label> 22 </div> 23 <div class="form-check"> 24 <input class="form-check-input" type="radio" name="inout" value="2"> 25 <label class="form-check-label" for="inout">支出</label> 26 </div> 27 </div> 28 29 <div class="form-group"> 30 <label for="product-name">カテゴリ</label> 31 <select class="custom-select" name="category"> 32 <option value="趣味">趣味</option> 33 <option value="食費">食費</option> 34 <option value="光熱費">光熱費</option> 35 <option value="家賃・ローン">家賃・ローン</option> 36 <option value="交際費">交際費</option> 37 <option value="教育費">教育費</option> 38 <option value="給料">給料</option> 39 <option value="副業">副業</option> 40 <option value="臨時収入">臨時収入</option> 41 </select> 42 </div> 43 44 <div class="form-group"> 45 <label for="product-name">金額</label> 46 <input type="number" name="amount" id="product-name" class="form-control"> 47 </div> 48 ###送信ボタン 49 <button type="submit" class="btn btn-primary">送信</button> 50 <a href="{{route('books.index')}}" class="btn btn-secondary">戻る</a> 51 </form> 52 @endsection 53 54 show.blade.php------------------------------------------------------------➁ 55@extends("layouts.layouts") 56 57@section("content") 58 59##<h1>家計簿詳細</h1> 60<table class="table table-striped"> 61 @csrf 62 <tr> 63 <th>年月</th> 64 <td>{{$book->year}}年{{$book->month}}月</td> 65 </tr> 66 <tr> 67 <th>区分</th> 68 <td>{{$book->inout}}</td> 69 </tr> 70 <tr> 71 <th>科目</th> 72 <td>{{$book->category}}</td> 73 </tr> 74 75 <tr> 76 <th>金額</th> 77 <td>{{$book->amount}}万円</td> 78 </tr> 79</table> 80####戻るボタン 81<a href="{{route('books.index')}}" class="btn btn-secondary">戻る</a> 82@endsection 83 84 BookController.php-------------------------------------------------➂ 85<?php 86 87namespace App\Http\Controllers; 88 89use Illuminate\Http\Request; 90use App\Book; 91 92class BookController extends Controller 93{ 94function index(){ 95 ##bookテーブルに入っているデータをすべて取ってくる 96 $books = Book::all(); 97 ##使うビューファイルを指定 98 compactにはビューファイルに送るデータを選択 99 return view("books.index",compact("books")); 100} 101function show(Book $book){ 102 return view("books.show",compact("book")); 103} 104 public function create(){ 105 return view("books.create"); 106 } 107 ###新規登録機能(コントローラー) 108 public function store(Request $request){ 109 110 $book = new Book(); 111 $book->inout = $request->input("inout"); 112 $book->year = $request->input("year"); 113 $book->month = $request->input("month"); 114 $book->category = $request->input("category"); 115 $book->amount = $request->input("amount"); 116 $book->save(); 117 118 return redirect()->route('books.show', $book); 119 }
試したこと
419
Page Expired のエラーの対処方として、@csrf処理、{Laravel project}\storage\framework\sessionsにあるキャッシュファイルを
すべて削除(手動も)、ログアウトして再試行を試しましたが解決しませんでした。
補足情報(FW/ツールのバージョンなど)
エディターはcloud9を使っております。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー