PHP

【PHPの基礎】POST送信の方法をマスターしよう

POST送信
今回解決できる内容!

✔️POST送信とは

✔️POST送信の方法

実際の開発でも必ず使用する方法なので是非マスターしましょう!

独学がつらくなった方は下記をご覧ください!

>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!

【基礎編】POST送信とは

POST送信は、HTTPで作られた入力データをサーバに送信する方法です。

簡単に言うと、画面遷移後のページへデータを渡すことができます。

値を送信する際は下記のように記載します。

サンプルコード

<form action="送信先のページ" method="POST">
<input type="text" name="user_name">
<input type="submit" value="送信"> 
</form>

“送信先のページ”のところに、実際に値を送り、その内容を表示する先のページのファイルを指定します。(1行目)  そして今回例だとテキストボックスを使用しているので、そこに入力された値に”user_name”という名前を付けます。(2行目) 送信ボタンが押されたら(3行目)送信先のページに画面遷移し、入力した値が送られるという流れになります。

今回の例だと、”送信先のページ”と”user_name”の2箇所が作成者によって自由に変更できる内容です。

【基礎編】POST送信の受け取り方法

POSTで送られたデータの取得方法は下記の通りです。

先ほどの送信データを受け取るように記載します。

$user_name=htmlspecialchars($_POST["user_name"]);

まず受け取ったデータの格納先として変数を作ります。(ここでは$user_name)

POSTデータを取得するには、$_POST変数を使用します。$_POSTは連想配列の為、キーとしてinputのname属性の値を入力します。(ここではuser_name)

セキュリティ対策として、htmlspecialchars関数によってエスケープ処理を施しています。

次は実際にプログラムで確認してみましょう!

【実践編】POST送信を使ってみよう!

次はサンプルプログラムでPOST送信の活用方法を確認してみましょう!

POST送信するファイルをsend.php、POST送信されたデータを受け取るファイルをreceive.phpとして作成します。

サンプルコード

<!DOCTYPE html>
<html lang="ja">
 <head>
    <meta charset="UTF-8">
    <body>
        <h2>テスト</h2>
        <form action='receive.php' method="POST">
            <label>名前</label>
            <input type="text" name="user_name">
            <br>
            <label>趣味</label>
            <input type="text" name="hobby">
            <input type="submit" value="送信"> 
        </form>
    </body>
 </head>
</html>
<?php
if(isset($_POST['user_name'])){
    $user_name=htmlspecialchars($_POST['user_name']);
}else{
    echo'名前を入力してください';
}

if(isset($_POST['hobby'])){
    $hobby=htmlspecialchars($_POST['hobby']);
}else{
    echo'趣味をを入力してください';
}

echo $user_name.'の趣味は'.$hobby.'です';

?>

send.phpには例として下記の通りに入力してみます。

この例では「サラプロ」と「テニス」と入力していますが、こちらには何を入力しても大丈夫です。

送信ボタンを押すと下記のような結果になります。

POST送信されたデータをそれぞれ変数に格納してechoで出力されたのがわかります。送信された際に値が格納されているかどうがをisset関数で確認しています

isset関数に関しては下記の記事を参考にして下さい

【PHPの基礎】isset関数をマスターしよう! empty関数との違いも解説 今回解決できる内容! ✔️変数に値が入っているか確認したい ✔️...

今回は以上になります。

POST送信は実際の開発では必ず使う内容なので是非マスターしましょう!

独学でツラくなった方へ