我希望在任何輸入之前首先說「請填寫下面的表單」,但之後如果輸入了年齡但是沒有名字,我想說: 「請輸入一個名稱:」 ,如果他們輸入一個名稱,但沒有年齡,然後: 「請輸入您的年齡:」 但如果他們什麼都沒有提交: 「錯誤:請輸入您的姓名和年齡,繼續」
這裏是我的代碼:
if($_GET["name"] && $_GET["age"]) {
echo "<p>Welcome ". $_GET['name']. " ... ";
echo "You are ". $_GET['age']. " years old.</p>";
exit();
} elseif ($_GET["name"] == FALSE) {
echo "<p>Please fill in the form below:</p>";
} elseif ($_GET["age"] == FALSE) {
echo "<p>Please fill in the form below:</p>";
} elseif ($_GET["name"] == FALSE && $_GET["age"]) {
echo "<p>Please fill in your name:</p>";
} elseif ($_GET["age"] == FALSE && $_GET["name"]) {
echo "<p>Please fill in your age:</p>";
}
我只是學習PHP,我試過了我能想到的所有東西,這就是我迄今爲止所做的一切!
謝謝。
提交表單確實應該使用'$ _POST'方法 – Martin
這可以在一行中使用'||'(OR)語句完成。 –
考慮使用客戶端表單驗證。 https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms_in_HTML#Constraint_Validation它現在已經標準化了,並且對於尚不支持它的瀏覽器有很好的填充。你仍然需要驗證服務器端的數據完整性(因爲不可能阻止人們劫持你的表單發送任何他們想要的內容),但是如果數據是意外的,你可以簡單地拋出一個錯誤,而不是處理所有的工作需要做一個友好的形式。 – Brad