我正在学习PHP并尝试更好地理解if .. else
语句,所以我正在创建一个小测验。但是,我遇到了一个问题,我似乎不知道问题是什么。我的问题是,每当我输入输入区域的年龄时,即使我输入了错误的年龄,它每次都会给我$yes
变量。
到目前为止,这是我的代码:
我的html文件:
<form action="questions.php" method="post">
<p>How old is Kenny?<input></input>
<input type="submit" name="age" value="Submit"/>
</p></form>
我的php文件:
<?php
$age = 25;
$yes = "Awesome! Congrats!";
$no = "haha try again";
if ($age == 25){
echo "$yes";
}else{
echo "$no";
}
?>
答案 0 :(得分:5)
您在$_POST超全局var中捕获用户输入(因为表单的方法是b
。
所以
POST
应该是
<?php
$age = 25;
HTML也有错误。这个
<?php
$age = $_POST['age'];
应该是
<input type="submit" name="age" value="Submit"/>
因为您需要一个输入和一个按钮。所以每个元素都有一个html元素。
必须清除和<input type="text" name="age" value=""/>
<input type="submit" value="Click to submit"/>
,因为它的语法无效: - )
答案 1 :(得分:1)
<form action="questions.php" method="post">
<p>How old is Kenny?</p><input type="text" name="age"></input>
<input type="submit" value="Submit"/>
</form>
$age = (int) $_POST["age"];
$yes = "Awesome! Congrats!";
$no = "haha try again";
if ($age == 25) {
echo $yes;
} else {
echo $no;
}
答案 2 :(得分:0)
list2env
一个简单的html表单,请注意提交按钮不包含您要处理的值,它们是通过输入文本元素提供的。
答案 3 :(得分:-1)
首先,你需要回应variable
; echoing "$no"
会将其保留为字符串。删除&#34; $ no&#34;中的引号和&#34; $ yes&#34;在你的if语句中。否则,你的代码似乎很合理!