我是PHP的新手,並試圖編寫一些代碼,然後將該帖子提交給數據庫,然後在同一頁上驗證表單。PHP驗證表單不能返回正確的響應
我想要的代碼是;
- 問,如果任何字段已經充滿
- 如果是檢查是否有任何字段都是空的(是這樣輸出的消息)
- 如果沒有經過一系列的數據的驗證檢查每次將任何錯誤添加到數組中。
- 終於問是否已被發現的任何錯誤
- 如果不將數據插入到數據庫(這段代碼是寫而不是在代碼中,我在下面提供所示。
因此,這裏是我的代碼:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
if(isset($_POST['title']) || isset($_POST['content']) || isset($_POST['comment_option']));
{
$title = $_POST['title'];
$content = $_POST['content'];
$comment_option = $_POST['comment_option'];
$form_errors = array();
if (empty($title) || empty($content) || empty($comment_option))
{
$form_errors[] = "All fields are required!";
} else {
if (strlen($title < 3)){
$form_errors[] = "The title is too short!";
}
if (strlen($title > 50)){
$form_errors[] = "The title is too long!";
}
if (strlen($content < 50)){
$form_errors[] = "Post is a bit short!";
}
}
if(!empty($form_errors)) {
print_r($form_errors);
}else{
//insert data into database
}
}
?>
<form action="add_post.php" method="post">
Title: <input type="text" name="title"><br>
Content: <input type="text" name="content"><br>
Comments enabled?<br>
<input type="radio" name="comment_option" value="true">Yes<br>
<input type="radio" name="comment_option" value="false">No<br>
<input type="submit">
</form>
<body>
</body>
</html>
當網頁加載完畢後,我得到的,其中i設置$標題$內容系未定義指數的三個錯誤和$ comment_option變量,如果我只是點擊提交,然後我只得到了一個錯誤。在哪裏設置$ comment_option變量,但我確實看到「所有字段ar e需要「。如果任何字段沒有填寫,我也會看到這個錯誤,所以這部分工作。
如果所有字段填寫。無論在什麼長度,我總是看到「標題太短」和「博客文章是有點短」,即使他們不..
㈣花了一段時間看着這個,只是不能弄清楚什麼是做錯了!
任何幫助將不勝感激!
感謝, 最大
啊確定這就是排序的驗證位和多數民衆的工作,謝謝!問題是我仍然得到未定義的索引錯誤。是因爲如果$ _POST ['?']沒有任何內容,即時設置一個沒有任何內容的變量? – Max
這是因爲你正在檢查是否設置了任何變量,然後假設他們都是。因此,如果設置了$ _POST ['title']'並且$ _POST ['content']'不是,當您嘗試設置'$ content = $ _POST ['content']' – Niro