OK、私が達成しようとしているのは、次のような非常に単純なフォーム検証です。
- 名前: [必須、最小の長さ: 2、最大の長さ: 255]
- メール: [必須、最小長: 3、最大長: 255、有効なメール形式]
- 生年月日: [オプション、形式: dd/mm/yyyy]
ただし、送信をクリックすると (フィールドが空であるか入力されている場合)、エコーされたすべてのエラーが空白のページに表示されます。
「名前は 2 文字以上である必要があります名前は必須です電子メールは少なくとも 3 文字である必要があります無効な電子メール電子メールを空のままにすることはできません」
これまでの私のコード:
index.php
<form method="post" action="confirm.php">
Name:<input type="text" name="name" />
email:<input type="text" name="email" />
DOB:<input type="date" name="dob" />
<input type="submit" value="submit" />
</form>
と
確認.php
<?php
$name = $_POST['$name'];
$email = $_POST['$email'];
$dob = $_POST['$dob'];
$namelen = strlen($email);
$emaillen = strlen($email);
$max = 255;
$minname = 2;
$minemail = 3;
if($namelen<$minname){
echo"name must be at least 2 characters";
}
elseif($namelen>$max){
echo"name must be less than 255 characters";
}
if(empty($name)){
echo"name is required";
}
else{
continue;
}
if($emaillen<$minemail){
echo"email must be at least 3 characters";
}
elseif($emaillen>$max){
echo"email must be less than 255 characters";
}
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
continue;
}
else{
echo"invalid email";
}
if(empty($email)){
echo"email cannot be left empty";
}
else{
continue;
}
?>
助けていただければ幸いです、ありがとうございます。