🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

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

Q&A

解決済

1回答

1757閲覧

Laravel 家計簿アプリ新規登録処理に419 Page Expiredのエラー画面がでてしまいます。

dvd092bhbn

総合スコア1

Laravel

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

0グッド

1クリップ

投稿2021/03/02 04:27

編集2021/03/02 05:42

前提・実現したいこと

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を使っております。よろしくお願いいたします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/03/02 05:11

コードを提示する際はマークダウンを使用してください。
退会済みユーザー

退会済みユーザー

2021/03/02 05:38

質問入力欄の上にある<code>で挿入される(マークダウン記法の)ブロック内にコードを貼ってください。
Lulucom

2021/03/02 05:48

Cloud9のプレビュー機能では419エラーが発生することがありますので、使わない方が良いでしょう。 プレビューの右上に↗︎ボタンがあるので、それをクリックして新規タブで表示させて、そこで動かすとどうでしょうか。
zushi0905

2021/03/02 05:53

laravelのバージョンを教えてください。
dvd092bhbn

2021/03/02 05:55

新規タブで表示させたらできました!ありがとうございました。
guest

回答1

0

ベストアンサー

Cloud9のプレビュー機能では419エラーが発生することがありますので、使わない方が良いでしょう。
プレビューの右上に↗︎ボタンがあるので、それをクリックして新規タブで表示させて、そこで動かしましょう。

投稿2021/03/02 05:56

Lulucom

総合スコア1899

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問