今回はGET送信方法とPOST送信方法が別々なので、送信方法についてそれぞれ書いて行く。
POST送信を使う場合
//main.php
<form method="post" action="edit.php">
<input type="hidden" name="id" value="<?php echo h($todo["id"]) ?>">
<button >削除</button>
</form>
formの中の
method="post" ..methodは通信方式を表している。今回であれば、POST方式
action="edit.php" ..フォーム内にある送信ボタンをクリックした時に遷移するページを指定
inputタグの中の
type="hidden" ..nameのidを隠す意味
「name=id」 ..送信先の名前(DBの中のテーブルの名前の部分を入れる)
「value=""」 ..送信される値
//edit.php
if(isset($_POST["id"])){ //変数に値が入っているかどうかを確認するためのisset関数
$id = $_POST["id"];
}
POST送信の場合は
postの意味の中に 「(時間的に) ~の後の」と言う意味があり、
formで送ったものを「POST」で受け取る時に使用する。
GET送信を使う場合
//main.php
<a href="edit.php?id=<?php echo $todo['id'] ?>">編集</a>
//edit.php
if(isset($_GET["id"])){ //変数に値が入っているかどうかを確認するためのisset関数
$id = $_GET["id"];
}
GET送信の場合は
GETの意味の中に 「受ける」と言う意味があり、
Aタグを「GET」で受け取る時に使用する。
※POST通信、GET通信の使い分け
POST通信は、新規作成、削除機能で使用することが望ましい
理由:POSTを通して、内容が変更する場合は、POST通信を使用する。
新規作成はない情報から、新たに新規作成する
削除機能は元々ある情報からない情報にする
GET通信は、編集機能ので使用することが望ましい
編集機能は編集画面(内容は変わらない)へ変更後、編集し、編集するため
つまり、1回目の編集ではGETを使用。次の編集ではPOSTを使用する。