我希望它说"请填写下面的表格:"首先,在任何输入之前,但如果他们输入年龄但没有名字,我希望它说: "请输入一个名字:" 如果他们输入一个名字但没有年龄,那么: "请输入您的年龄:" 但如果他们没有提交任何内容: "错误:请输入您的姓名和年龄以继续"
这是我的代码:
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,而且我已经尝试了所有我能想到的东西,这就是我到目前为止所取得的成就!
谢谢。
答案 0 :(得分:1)
将if(compare(*argv[i],*argv[i+1]))
替换为empty()
,您几乎就在那里
您的表格:
FALSE
然后你的PHP:
<form method='post' ... >
<input type='text' name='name' value=''>
...
</form>
您应该重新构建逻辑,以便您的两个值是独立的
所以上面的一系列 if( $_POST["name"] ... ) {
...
exit;
}
elseif ( empty($_POST["name"]) ) {
echo "<p>Please fill in the form below:</p>";
} elseif ( empty($_POST['age'] || !is_numeric($_POST["age"]) ) {
echo "<p>Please fill in the form below:</p>";
} elseif ( empty($_POST['name'] && !empty($_POST['age'] ) {
echo "<p>Please fill in your name:</p>";
} elseif ( !empty($_POST['name'] && empty($_POST['age']) {
echo "<p>Please fill in your age:</p>";
}
陈述可以变成......
elseif
if(empty($_POST['name'])){
$notice .= " Please enter your name.";
}
if(empty($_POST['age'])){
$notice .= " Please Enter your age."
}
print $notice.
将新定义连接到变量的当前(或空)值的末尾。你可以每次打印.=
,因为它是空的(没有打印)或者它有一个值,这是你想要打印的东西,所以每次都赢了。