05メモを追加する
では新たにindex.phpと同じ階層に「insert.php」を作成してください。
memo_php
├── css
│ └── style.css
├── index.php
├── insert.php
├── select.php
└── dbConnection.php作成できたら以下のコードをコピーしましょう。
insert.php
<?php
//コメントの内容をDBに追加する
if (isset($_POST["body"])) {
$body = $_POST["body"];
$date = date("Y/m/d H:i:s");
/*sql文*/
$sql = "INSERT INTO memo(
body, date
)VALUES(
'$body', '$date'
)";
/*bindValue関数でバインドする*/
$result = $dbh->prepare($sql);
$result->execute();
}index.php
<?php
include './dbConnection.php';
// ここに追加
include './insert.php';
include './select.php';index.phpにある下記部分を修正
<body>
<div class="container">
<div class="memo_area">
<div class="memo_form">
<h2>メモを追加</h2>
<form method="post" action="index.php">
// nameにbodyを追加
<input class="memo_text" type="text" name="body">
<input type="submit" value="追加">
</form>
</div>追加できたら画面を読み込んで、実際に何かメモを追加してみましょう。

追加したメモが表示されていたらOKです。
表示されない場合は追加したコードをもう一度確認してみましょう。
ではコードの解説です。
if (isset($_POST["body"]))まずはこの部分ですが、name属性が「body」である要素がPOSTされたときにtrueになるようになっています。
もう少し丁寧に説明します。
$_POSTはPOST通信のデータを受け取ることができます。今回は、index.phpで<form method="post" action="index.php">とmethod=”post”でPOST通信を指定しています。
追加ボタンが押されると、<form></form>の中のinputタグの情報が送信されます。
今回のinputは<input class="memo_text" type="text" name="body">のみです。
inputタグの情報は$_POST[”name属性の名前”]で取得できます。
isset()は引数が空かどうかを判別します。
今回は$_POST[”body”]が空かどうかを判別しています。
空の時は、情報が送信されていない時です。つまり画面が読み込まれたり、削除ボタンが押されたときなどです。
追加ボタンが押された時のみisset()はtrueになります。
$body = $_POST["body"];
$date = date("Y/m/d H:i:s");続いてこの部分ですが、$_POST["body"]でメモ追加テキストボックスの情報を取得し、$bodyに格納しています。
次にdate("Y/m/d H:i:s")で現在の時間を取得しています。
最後に、
$sql = "INSERT INTO memo( body, date )VALUES( '$body', '$date' )";この部分です。
メモの情報をDBに追加するSQL文です。
SQLのレッスンで解説しているためここでは詳しく解説しません。
最後にこの部分ですが、先ほど作成した$sqlを実行しています。
/*bindValue関数でバインドする*/
$result = $dbh->prepare($sql);
$result->execute();$result = $dbh->prepare($sql);ですが、SQL文を**prepare()**にセットし、SQL実行のための準備を行っています。
そして、$result->execute();でSQLを実行しています。
ここはあまり深く考えず、SQLを実行するにはこの2行が必要なんだ、くらいに思っておいてください。
Git
// 前のcommitからの差分を確認
git diff
git add .
git commit -m "追加"
コメントを残す