この記事では、PHPを使ったデータのPOST送信の方法をわかりやすく解説します。
この記事を読むと下記の画像のようなことができます。
PHPでデータをPOST送信をする方法のコード
それでは、解説していきますが、先にコードの紹介です。
※必要最低限のコードのみ記載しております。
まずは、データを送信する「index.php」
<form id="form" action="test_receive.php" method="post">
<p>名前</p>
<input type="text" name="name">
<p>メールアドレス</p>
<input type="email" name="email">
<button type="submit">送信する</button>
</form>
次にデータを受信する「test_receive.php」
<?php
$test_name = filter_input(INPUT_POST, 'name');
$test_email = filter_input(INPUT_POST, 'email');
?>
<p>名前:<?php echo $test_name ?></p>
<p>アドレス:<?php echo $test_email ?></p>
このコードで画像のような動作になります。
①まずは、送信フォームです。
②送信フォームに「名前」と「アドレス」を入力して、送信ボタンを押します。
③送信されるとページが「test_receive.php」に遷移して、上記で送信された情報を受け取っています。
PHPでデータをPOST送信をする方法のコードを解説
それでは、上記のコードを詳しく解説していきます。
まずは、「index.php」です
<!-- 送信するデータをformで囲う。
action=""には、遷移する場所を入力 -->
<form id="form" action="test_receive.php" method="post">
<p>名前</p>
<!-- 送信する際にname=" "で設定した値が必要なので、必ずname=" "を設定する。 -->
<input type="text" name="name">
<p>メールアドレス</p>
<input type="email" name="email">
<!-- 送信ボタンには、type="submit"を必ずセットする。これがないと送信されない。 -->
<button type="submit">送信する</button>
</form>
PHPでデータを送信する際には、その送信したいデータをformタグで囲います。
<form id="form" action="test_receive.php" method="get">
この中に送信したいデータを記載
</form>
formタグには、action属性と method属性の二つは少なくともセットする必要があります。
action属性は、遷移する場所を指定します。今回の場合は、「action=”test_receive.php”」でtest_receive.phpを遷移場所として指定しています。
なお、遷移場所が同じページの場合は「action=””」で大丈夫です。
次にmethod属性ですが、こちらは送信方法を指定するもので”post”か”get”のどちらかを指定します。
postとgetの違いですが、getはデータがURLの一部として含まれて送られ、postの場合は、データがURLに含まれず送られます。
次に実際に送信するデータを記入する部分です。
<p>名前</p>
<input type="text" name="name">
<p>メールアドレス</p>
<input type="email" name="email">
この部分で注意するのは、name属性を必ずつけること。
このname属性を頼りに後述する「filter_input()」で送信先でデータを受け取ります。
「index.php」の最後は「button」タグです。
<button type="submit">送信する</button>
buttonタグで注意することは、type属性で「type=”submit”」を必ず記載すること!
この「type=”submit”」によりformタグが着火してデータを送信します。
私は、この記載を忘れて送信が出来なくて、頭を悩ませたことがあったので、絶対に忘れないようにしてください。
次に「test_receive.php」に部分です。
<?php
// $〇〇で変数を設定。
// filter_input()で送信されたデータを受け取ります。
$test_name = filter_input(INPUT_POST, 'name');
$test_email = filter_input(INPUT_POST, 'email');
?>
<!-- echo 変数で上記で受け取ったデータをページに表示 -->
<p>名前:<?php echo $test_name ?></p>
<p>アドレス:<?php echo $test_email ?></p>
まず、「index.php」から送信されたデータを受け取ります。
<?php
$test_name = filter_input(INPUT_POST, 'name');
$test_email = filter_input(INPUT_POST, 'email');
?>
filter_input()関数で、送信されたデータを受け取ります。
PHPでフォーム送信されたデータは「filter_input(INPUT_POST, ‘〇〇’)」の型で受け取ると覚えてしまって、この「〇〇」の部分に、送信元のname属性で設定した値を記載します。
今回の場合は、「index.php」のコードの下記の部分です。
<input type=”text” name=”name”>
<input type=”email” name=”email”>
上記で受け取ったデータを$○○で設定した変数に格納します。
最後に、受け取ったデータをページに反映させます。
<p>名前:<?php echo $test_name ?></p>
<p>アドレス:<?php echo $test_email ?></p>
echo $〇〇でページに反映されます。
PHPでデータをPOST送信をする方法を初心者向けにわかりやすく解説のまとめ
いかかでしたか?
実際のPHPのデータ送信では、データベースとのやりとりなどもう少し複雑になりますが、基本的には、このデータ送受信の方法が基礎となりますので、まずは、こうしたデータの送受信の方法を出来るようになりましょう!
私もそうでしたが、独学での学習は非常に効率が悪いですし、稼げるところまで行くのは正直、難しいです。
「本当に稼ぎたい!」「絶対に転職してやる!」っと思っているのであれば、しっかりとした講師から教えてもらうべきです。
プログラミンスクール大手のテックキャンプでは、ただいま無料でのカウンセリングを実施しています。
※いつまで実施しているかはわかりません。
ZOOMでのカウンセリングなので、無理な勧誘がありませんし、専門家が非常に親切になんでも相談に乗ってくれます。
無料で受けることができるので、もし、本気でプログラミンをやっていくなら、一度相談してみてくださいね!