我有以下形式:PHP表單驗證:凡撲通代碼
<!doctype html><html><head><link href="css/home.css" rel="stylesheet" type="text/css"></head><body><form>
<?php
if (isset($_REQUEST['email']))
{
$email = $_REQUEST['email'] ;
$subject = "Email submission" ;
$message = "Message body here" ;
mail("[email protected]", $subject,
$message, "From:" . $email);
header('Location: /thanks.html');
}
else
{
echo "<form method='post' action='index.php'>
Email: <br><input name='email' type='text'><br><br>
<input type='submit'>
</form>";
}
?>
</form></body></html>
這工作得很好,但最近提交空白電子郵件領域已經開始未來通過。我一直試圖讓8個或更多字符在這個片段中驗證電子郵件字段是允許的形式之前提交:
if (strlen($input) < 8){ echo "Please enter a valid email";}
無論我把代碼,頁面返回500內部錯誤在負載和沒有顯示。我確信有一些基本的東西讓我做錯了,也許我一直在盯着屏幕太久,但如果有人能指導我如何讓它按照它應該的方式運作,那會很棒。
'$ input'沒有被定義,你可能想測試'$ _POST ['email]'。 –
你知道你可以使用:!!filter_var($ email,FILTER_VALIDATE_EMAIL)'驗證電子郵件嗎?你也可以在if(mail())函數中加一個if語句來檢查它是否已經發送 – SuperDJ
我只是補充說,最好把php代碼放在一個單獨的文件中,並且要求它如果有帖子請求 –