PHPでデータを取得する時の処理

パソコン

<これまでの記述方法>

<?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が設定される。

コメント

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