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送信は実際の開発では必ず使う内容なので是非マスターしましょう!

独学でツラくなった方へ

私は独学でプログラミングを学んで、実際に初めて稼げるようになるまで2年以上かかりました

当時は意地でも独学で学んでやる!と意気込んでいましたが、今思えばスクールに通うことで稼ぐまでのスピードはもう少し短縮できたのではと思っています。

効率よくプログラミングを身につけたい方は是非参考にしてみて下さい!