我目前正在上傳頁面,其中用戶在表單中輸入值,然後單擊提交。我要檢查表格是否已經提交,如果提交表明它們不是空的。這裏是我現在的代碼PHP - 清潔,更優雅的方式來驗證表單內容
function validPost()
{
if(isset($_POST["title"]) && //if a post has been submitted
isset($_POST["artist"]) &&
isset($_POST["genre"]) &&
isset($_POST["url"]) &&
isset($_POST["user"]))
{
if (strlen($_POST['title']) <= 0) {
echo 'ERROR: Please enter a title. </ br>';
return false;
}
else if (strlen($_POST['artist']) <= 0) {
echo 'ERROR: Please enter an artist. </ br>';
return false;
}
else if (strlen($_POST['genre']) <= 0) {
echo 'ERROR: Please select a genre. </ br>';
return false;
}
else if (strlen($_POST['url']) <= 0) {
echo 'ERROR: Please enter a url. </ br>';
return false;
}
else if (strlen($_POST['user']) <= 0) {
echo 'ERROR: Please enter a username to submit the song (or make one up). </ br>';
return false;
}
else
return true;
}
else //if no post was submitted
{
return false;
}
}
有沒有更好的方法來檢查這個?我計劃在未來增加對這些表格提交的內容的更多支票,我覺得這是一個馬虎的做法。
謝謝!
你需要稍微調整一下,以檢查所有的字段是否已發佈 - 現在,如果某個字段沒有發佈,它將顯示爲有效(好吧,在現實世界中可能不會發生,除非有人試圖欺騙形式,但可能是這種情況 – Aerik
好點,稍微調整一下邏輯 –
@MarcB - 謝謝!現在工作得很完美,更乾淨了,以前從未見過'==='操作符,所以很好了解這個。這是什麼語法調用:'$ errors [] = $ errmsg;'?我從來沒有看到它,不知道它做了什麼,所以我想看看它。 – CHawk