<これまでの記述方法>
<?php
$name = $_POST['name'] ;
echo $name;
?>
※ $_POST[‘name’] が存在しない場合、 PHP Notice: Undefined index が発生する
<これからの記述方法>
<?php
$name = filter_input(INPUT_POST, 'name');
echo $name;
?>
※ filter_input を使用すると、$_POST[‘name’] が存在しなくても echo $name がエラーを起こらない。
HTML
<form action="" method="post">
<input type="text" name="mail" />
<input type="submit" name="" value="送信">
</form>
PHP
<?php
if($mail = filter_input(INPUT_POST, 'mail', FILTER_VALIDATE_EMAIL)){
echo "正しいメールアドレスです。:".$mail."<br/>\n";
}else{
echo "誤ったメールアドレスです。<br/>\n";
}
?>
説明: filter_input(INPUT_POST, ‘mail’, FILTER_VALIDATE_EMAIL) でPOSTでmailを取得。
その際に、メールアドレスのフォーマットか確認
正しければ、mailのメールアドレスが設定 = if分の中ではtrueになる。
誤りならfalseが設定される。


コメント