【PHP入門】$_GETと$_POSTの使い方 フォームデータの処理方法
PHPでは、ユーザーからの入力を受け取るために、$_GET
と$_POST
というスーパーグローバル変数が使用されます。これらの変数を使って、フォームから送信されたデータを簡単に処理することができます。この記事では、$_GET
と$_POST
の使い方について解説し、実際にフォームデータを処理する方法を学びます。
フォームデータの処理はウェブアプリケーションの基本だよ。$_GET
と$_POST
を使って、ユーザーからの入力を受け取ろう!
$_GETと$_POSTとは?
PHPの$_GET
と$_POST
は、フォームデータをサーバーに送信する際に使用されるスーパーグローバル変数です。これらは、フォームから送られたデータをサーバー側で受け取り、処理するために使います。
$_GET
$_GET
は、フォームデータをURLのクエリパラメータとして送信する際に使用されます。データはURLに含まれるため、ブラウザのアドレスバーに表示されます。主にデータの取得や検索機能などに使われます。
例:http://example.com/form.php?name=John&age=30
$_POST
$_POST
は、フォームデータをHTTPリクエストのボディ部分に含めて送信します。この方法ではデータがURLに表示されないため、より安全なデータ送信が可能です。主に、ログイン情報の送信やフォームからの入力データの送信に使用されます。
例:http://example.com/form.php
(データは表示されない)
$_GETを使ったデータの受け取り
まず、$_GET
を使ってフォームから送信されたデータを受け取る方法を見てみましょう。
1. フォームの作成
以下のように、method="get"
属性を指定したフォームを作成します。このフォームでは、ユーザーが名前を入力して送信します。
<form action="get_example.php" method="get">
名前: <input type="text" name="name">
<input type="submit" value="送信">
</form>
このフォームでは、入力された名前がget_example.php
に送信されます。
2. データの受け取りと表示
次に、get_example.php
で$_GET
を使ってデータを受け取り、表示します。
<?php
if (isset($_GET['name'])) {
$name = htmlspecialchars($_GET['name']);
echo "こんにちは、" . $name . "さん!";
} else {
echo "名前が入力されていません。";
}
?>
このコードでは、$_GET['name']
を使ってフォームから送信された名前を取得し、htmlspecialchars()
関数を使ってXSS攻撃を防止するためにエスケープしています。ユーザーが入力した名前を表示することで、正しくデータを受け取れていることを確認できます。
$_GET
は機密情報の送信には向いていません。簡単なデータの取得やページ遷移などに利用しましょう。$_POSTを使ったデータの受け取り
次に、$_POST
を使ってデータを受け取る方法を学びましょう。
1. フォームの作成
次のように、method="post"
属性を指定したフォームを作成します。このフォームでは、ユーザーがメールアドレスを入力して送信します。
<form action="post_example.php" method="post">
メール: <input type="email" name="email">
<input type="submit" value="送信">
</form>
このフォームでは、入力されたメールアドレスがpost_example.php
に送信されます。
2. データの受け取りと表示
次に、post_example.php
で$_POST
を使ってデータを受け取り、表示します。
<?php
if (isset($_POST['email'])) {
$email = htmlspecialchars($_POST['email']);
echo "入力されたメールアドレス: " . $email;
} else {
echo "メールアドレスが入力されていません。";
}
?>
このコードでは、$_POST['email']
を使ってフォームから送信されたメールアドレスを取得し、htmlspecialchars()
関数を使って安全に表示しています。$_POST
は、$_GET
と違い、データがURLに表示されないため、より安全にデータを扱うことができます。
$_POST
を使用するのがおすすめです。フォームからの入力データやログイン情報の送信などに適しています。$_GETと$_POSTの違いと使い分け
それぞれの違いと使い分けについて、以下にまとめます:
- $_GET:データがURLに含まれるため、ユーザーがデータを直接変更することができ、URLをブックマークしたり共有したりできます。データの取得や検索クエリに適しています。
- $_POST:データがHTTPリクエストのボディに含まれるため、URLに表示されません。機密性の高いデータや、大量のデータの送信に適しています。
用途に応じて、$_GET
と$_POST
を適切に使い分けることが重要です。
まとめ
PHPの$_GET
と$_POST
を使うことで、フォームから送信されたデータを受け取り、処理することができるようになりました。$_GET
はデータの取得に、$_POST
はデータの送信に適しています。それぞれの特性を理解し、適切な場面で使い分けることで、安全で効率的なウェブアプリケーションを作成することができます。
フォームデータの処理はウェブ開発の基本だよ。$_GET
と$_POST
をしっかり使い分けて、安全で使いやすいアプリを作ろう!
コメント