1
1

$_POST、$_GET

Last updated at Posted at 2024-04-16

はじめに

スーパーグローバル変数について整理する。

$_POST

POST形式のHTMLフォームから渡された情報

ユーザーから入力された値や外部サービスから取得した値を表示する場合には、HTMLエスケープが必要となる。
エスケープ処理を正しく行わないとXSSの脆弱性の原因になる。

Encode.php
function e(string $str, string $charset = 'UTF-8'): string 
{
    return htmlspecialchars($str, ENT_QUOTES | ENT_HTML5, $charset, false);
}
post.php
<?php requier_once '../Encode.php'; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>ポストデータ</title>
</head>
<body>
こんにちは、<?=e($_POST['name']) ?> さん!
</body>
</html> 

$_GET

クエリ情報(~?キー名=値)経由で渡された情報

get1.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>クエリ情報</title>
</head>
<body>
<form method="GET" action="get2.php">
<label for="name">名前</label>
<input id="name" type="test" name="name" size="15" />
<input type="submit" name="送信" />
</form>
</body>
</html>
get2.php
<?php requier_once '../Encode.php'; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>クエリ情報</title>
</head>
<body>
こんにちは、<?=e($_GET['name']) ?> さん!
</body>
</html>
1
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
1
1