0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【超入門】入力フォームからGETメソッドでデータを受け取る方法

Last updated at Posted at 2019-03-09

##GETメソッドについて
GETメソッドとはHTTPメソッドの1つであり、HTMLファイルや画像ファイルなどを要求するときに使われるメソッドです。
よく似たHTTPメソッドとしてPOSTメソッドがあります。
POSTメソッドはGETメソッドと同様に入力した内容をサーバーへ送ることが可能です。
###POSTメソッドとGETメソッドの違い
ここでは深くは触れませんが、POSTメソッドとGETメソッドの違いとしてGETメソッドの場合は、リクエストラインにクエリストリングとして、入力した情報を付与してサーバーへ送ります。
その際、情報をURLにくっつけてサーバーに送るのがGETメソッドです
その一方で、POSTメソッドの場合は、メッセージボディに入力した情報を記述してリクエストします。
メッセージボディは、URLのように様々なところに情報は残らないので、ユーザー名やパスワードなど第3者に知られたくない情報はPOSTメソッドを利用します。
今回はGETメソッドを用いて簡易的な入力フォームからデータを受け取る方法を解説します。

##HTMLで入力フォームを用意
まずはHTMLで入力フォームを用意します。
*この時ファイル名はform.htmlのようにファイル名から内容が想像できるようにしておくと後から見返す時に楽になります。

form.html
<!DOCTYPE html>
<html lang="ja">
 <head>
 <title>データを送信</title>
 </head>
 <body>
  <form action="display.php" method="get">
  <input type ="text" name="name">
  <input type="submit" value="送信">
  </form>
  </body>
</html>

##入力フォームからの情報を受け取るPHPファイルを用意

display.php
<!DOCTYPE html>
<html lang="ja">
 <head>
 <title>データを受信</title>
 </head>
 <body>
 <?php
 echo $_GET['name'];
 ?>
 </body>
</html>

##解説
###form.html
htmlのformタグの使い方が重要。
HTMLのformから送信先のを指定するaction属性を用いて
・どのPHPファイルに送信するのか
・どんな方法で送信するのか
を指定する。
今回は「display.phpにGETメソッドで送信する」という内容にするために
<form action="display.php" method="get">と書く。

###display.php
PHPにおいて文字列の出力にはechoを使う。
form.htmlから送られてきたデータをdisplay.phpで表示させるために
echo $_GET['name'];を用いる。
PHPでは処理コードの区切りを;で表す。最初はよく忘れるので十分注意が必要

##今後のために
学習が進むとGETメソッドで送るデータの数も複数になってくる。
その都度、毎回のように
echo $_GET['name'];とやるのは効率が悪いので
form.htmlにてname属性を定めているので

display.php
$name = $_GET['name'];

このように決めて用いるとよい。

0
1
0

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
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?