PHP

【Laravel】フォームから書いた内容をDBに書き込む方法

2018年6月21日


Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

この記事は、Laravel 入門者向けの ひとこと掲示板シリーズの記事になります。

 

 

前回は DB の内容をブラウザに表示するところまでやりました。

 

 

 

今回はブラウザからフォームで入力したデータを、DB に書きこんで、ブラウザに表示する方法について書きました。

一応ですが、これができますとひとこと掲示板が完了した事になります。Laravel で簡単ではありますが、Web アプリを作った事になりますね。

一旦形にしてしまえば、あとはカスタマイズしたりして機能を拡張してゆけると良いですよね。

 

 

という事で、まずはいつものように使っている環境について説明いたします。

 

 

環境

 

 

以下の環境を使っています。

 

  • Cloud 9
  • PHP 7.0
  • Laravel 5.5.40
  • MySQL 5.5

 

 

という事で、早速始めます。まずは、ルーティングからですね。

 

 

処理の流れ

 

 

ブラウザのフォームから入力したデータを DB に書き込ませる為には、内部的に以下の流れで処理されていると思います。

 

 

  1. View の Form で入力したデータを Submit する
  2. Post 処理されてきたものを、ルーティングで コントローラーのメソッドに処理を渡す
  3. コントローラーでメソッドの処理を行い、DB にデータが書き込まれる。

 

 

ルーティングの処理

 

 

View のフォームから Post 処理されますので Post できたものを store メソッドに処理を渡すように書きます。

 

 

 

 

 

 

コントローラーの処理

 

 

ルートファイルから処理を受け、コントローラーでメソッドの処理をし、DB にデータを書き込みます。

Requestとは、post や get などで送信された値を扱うオブジェクトで、フォームから送信されるデータは Request 型で渡ってきます。

Post のインスタンスを新しく作り、title と body のプロパティを $post のプロパティに入れて、save メソッドで DB に書き込みます。

 

 

 

 

 

ビューの処理

 

 

View には以下のように書きます。気をつけなけらばならないのが、CSRF 対策が必須で、波カッコで {{ csrf_field() }} と書いてあげる部分です。

これを書かないと正しく動きませんので、注意が必要です。

 

 

 

 

 

 

ブラウザで確認する

 

 

では、実際にブラウザに表示されるか確認してみます。

Cloud 9 のコンソールから職人さんにサーバーを立ち上げてもらいます。

また忘れないように、MySQL のサービスを起動しておきます。

 

 

 

ブラウザでアクセスし、タイトルと内容に適当な事を書いて [送信] ボタンを押します。

DB に書き込まれてデータが正しく取得できて表示されています。

 

 

 

 

 

いかがでしょうか。これで骨だけの機能ですが「一言掲示板で Web アプリ作れたぞ!」って言えるようになりました!

まだ機能は付けてゆけると楽しくなってゆくと思いますし、Laravel についても学習できますね。

 

 

では最後までお読みいただきありがとうございました!

 

 

おすすめの本はこちら ↓↓↓

 

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-PHP
-,


Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637