1. ホーム
  2. php

[解決済み] phpによる電子メール検証エラー

2022-01-30 13:09:48

質問内容

phpを使用してメール検証を行ったところ、以下のようなエラーが表示されました。

<ブロッククオート

お知らせです。未定義変数: emailErr in C:\xamppramesh_testpopupemail_validation.php on line 36

で、これが私のコードです。

<?php

if(isset($_POST['submit']))
{
$emailErr ="";
$email="";
$email =$_POST["email"];
if(empty($email))
{
    $emailErr="must fill this feild";
}else{
     // check if e-mail address is well-formed
     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
       $emailErr = "Invalid email format"; 
     }
     else
     {
     $emailErr = "Invalid"; }
     }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>
.error {color: #FF0000;}
</style>
</head>

<body>
<form method="post" action="email_validation.php"> 
E-mail: <input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br>
<input type="submit" name="submit" value="Check" />
</form>
</body>
</html>

解決方法は?

フォーム変数を送信しない場合 $emailErr が設定されていません。そのため $emailErr が設定されているかどうか。

Change 

<?php echo $emailErr;?>

<?php echo isset($emailErr) ? $emailErr : '' ;?>