我希望在任何输入之前首先说“请填写下面的表单”,但之后如果输入了年龄但是没有名字,我想说: “请输入一个名称:” ,如果他们输入一个名称,但没有年龄,然后: “请输入您的年龄:” 但如果他们什么都没有提交: “错误:请输入您的姓名和年龄,继续”
这里是我的代码:
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