PHPでGETメソッドを使用し、サーバー通信(情報送信)をする

PHPでGETメソッドを使用し、サーバー通信(情報送信)をしてみます。

Webブラウザは、通常、GETとPOSTという2つのHTTP(Hypertext Transfer Protocol)メソッドのいずれかを使用してサーバーと通信することができます。

なお、今回はGETメソッドについて解説しています。GETメソッドは、データをURLパラメータとして送信します。パラメータは、名前と値のペアをアンパサンドまたはアンド(&)の記号を用い、区切った文字列となります。

http://www.example.com/action.php?id=01&name=test

一般的なGETデータを含むURLは上記なものになります。今回のURLの「id」、「name」の部分がGETパラメータで、「01]、「test」の部分がパラメータの値となります。

■メリット・デメリット

・GETメソッドで送信されたデータはURLに表示されるため、特定のクエリ文字列の値でページをブックマークすることが可能です。

・GETメソッドは、セキュリティの観点から、ユーザー名やパスワードなどの機密情報を送信するのには適していない。これらの機密情報は、URLのクエリ文字列に全て表示されるだけでなく、訪問したページとしてクライアントブラウザのメモリに保存される可能性がある。

・GETメソッドは、データをサーバーの環境変数に割り当てるため、URLの長さに制限がある。そのため、送信するデータの総量には制限がある。

■環境

・Windows10

・WampServer Version 3.2.3 64bit

・PHP Version 7.3.21

■GETメソッドを使用し、データをURLパラメータとして表示する

では、今回は実験でGETメソッドを使用し、データをURLパラメータとして表示してみます。

■コード

<!DOCTYPE html>
<html lang="jp">
<head>
</head>
<body>
<?php
if(isset($_GET["name"])){
    echo "<p>こんにちは ".$_GET["name"]."</p>";
}
?>
<form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for ="inputName">名前:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="送信">
</form>
</body>
</html>

今回は、フォームに入力した名前をGETで送信し、送信した際にisset関数で、入力した名前がはいっているかどうかをチェックし、入っていれば、echo文で文字列を出力してみます。

■実行

では、このスクリプトを「get_method_example.php」という名前で保存し、実行させてみます。

実行させてみると、フォームが表示されますので、入力欄にテストで名前を入力します。入力後、「送信」ボタンをクリックします。

クリックすると、GETで送信したデータをURLパラメータとして表示させることができました。

コメント

タイトルとURLをコピーしました