需要严肃的帮助!
<?php
$php1 = !isset($_GET['php1']);
$php2 = !isset($_GET['php2']);
$php3 = !isset($_GET['php3']);
$php4 = !isset($_GET['php4']);
$php5 = !isset($_GET['php5']);
if ($php1 == 'one' && $php2 == 'two' && $php5 == 'five') {
echo "<h2>R</h2>WRONG";
} else {
echo "<h2>R</h2>CORRECT";
}
?>
HTML
<form action="One.php" method="get">
<input type="checkbox" name="php1" value="one"> q1<br>
<input type="checkbox" name="php2" value="two"> q1<br>
<input type="checkbox" name="php3" value="three"> q1<br>
<input type="checkbox" name="php4" value="four"> q1<br>
<input type="checkbox" name="php5" value="five"> q1<br>
<br>
<input type="submit" value="Send!">
</form>
如果所有复选框都为空,则会显示一条消息。我该怎么做?
如果我不检查任何方框,它会告诉我答案是正确的。那是错的。
答案 0 :(得分:2)
您必须记住,浏览器甚至不会将UN-CHECKED复选框发送到PHP脚本$_POST
/ $_GET
。
因此通常只需要知道。
首先,您必须检查它们是否已传递给脚本然后检查其值,否则您将收到未被用户检查的每个复选框的undefined index
错误
if (isset($_GET['php1']) && $_GET['php1'] != '' ) {
虽然名为php1
的复选框只能设置为您提供的值,但可以假设其值,而您需要做的只是
if (isset($_GET['php1']) ) {
// php1 was checked
同样isset()
将使用AND测试多个变量存在。所以你可以把你的代码写成
if ( isset($_GET['php1'], $_GET['php2'], $_GET['php5']) ) {
echo "<h2>Resultat</h2>Du svarade rätt på frågan";
} else {
echo "<h2>Resultat</h2>Du svarade fel på frågan";
}
答案 1 :(得分:1)
<?php
If(isset($_GET['php1'])){
$php1 = 1;
}else{
$php1 = 0;
}
If(isset($_GET['php2'])){
$php2 = 1;
}else{
$php2 = 0;
}
If(isset($_GET['php3'])){
$php3 = 1;
}else{
$php3 = 0;
}
If(isset($_GET['php4'])){
$php4 = 1;
}else{
$php4 = 0;
}
If(isset($_GET['php5'])){
$php5 = 1;
}else{
$php5 = 0;
}
if ($php1 && $php2 && $php5) {
echo "<h2>Resultat</h2>Du svarade rätt på frågan";
} else {
echo "<h2>Resultat</h2>Du svarade fel på frågan";
}
试试这个。
每个php变量的值为1或0(true / false)。因此if if只需要检查它是否。
答案 2 :(得分:0)
$php1 = !isset($_GET['php1']);
这意味着$ php1为true或false。如果你想要php1 get参数的值,那么删除isset cover,只需
$_GET['php1'];
isset用于检查变量是否存在之后使用$ _GET ['php1'];