PHP

PHPでデータを送信をする方法を初心者向けにわかりやすく解説!

この記事では、PHPを使ったデータ送信の方法をわかりやすく解説します。

この記事を読むと下記の画像のようなことができます。

PHPでデータを送信をする方法のコード

それでは、解説していきますが、先にコードの紹介です。
※必要最低限のコードのみ記載しております。

まずは、データを送信する「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でデータを送信をする方法のコードを解説

それでは、上記のコードを詳しく解説していきます。

まずは、「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でデータを送信をする方法を初心者向けにわかりやすく解説のまとめ

いかかでしたか?

実際のPHPのデータ送信では、データベースとのやりとりなどもう少し複雑になりますが、基本的には、このデータ送受信の方法が基礎となりますので、まずは、こうしたデータの送受信の方法を出来るようになりましょう!