$_POST ~ポストデータ~
htmlのフォーム要素で入力した値を$_POST['パラメータ名']で取得する。
<form method="POST" action="送信先"> <input name="name" type="text" /> <input name="email" type="text" /> <input value="送信" type="submit" /> </form>
<?php echo $_POST['name']; echo $_POST['email']; // $_POSTはテキストボックスのname属性をキーとする連想配列 ?>
エスケープ処理
ユーザー入力値に関してはhtmlspecialchars関数でエスケープ処理を行う。記述量が多いのでユーザー定義関数でシンプルに呼び出すのがベター。
<?php function e($str, $charset = 'UTC-8') { return htmlspecialchars($str, ENT_QUOTES | ENT_HTML5, $charset, false); } ?>
<?php echo e($_POST['name']); ?>
エスケープの種類(htmlspecialcharsの第2引数)
複数の値を持つ要素にアクセスする
name属性の末尾に[]をつけることで、複数の値を配列として取得できる。
<input type="checkbox" name="fruit[]" value="apple" /> <input type="checkbox" name="fruit[]" value="banana" /> <input type="checkbox" name="fruit[]" value="mango" />
<?php echo $_POST['fruit']; ?> => ['apple', 'mango']