search
LoginSignup
0
Help us understand the problem. What are the problem?

posted at

updated at

PHP POSTとGET送信方法について

今回は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を使用する。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0
Help us understand the problem. What are the problem?