我正在尝试使用PHP验证单选按钮。但是,即使选择了其中一个选项,我仍然会收到一条错误消息,指出没有选择任何一个单选按钮,即“请选择您的资质。这是我的html代码:
<p>Qualification: </p>
<p><label for="underGrad">Undergraduate</label>
<input type="radio" id="underGrad" name="qualification" value="underGrad">
</p>
<p><label for="postGrad">Postgraduate</label>
<input type="radio" id="postGrad" name="qualification" value="postGrad">
</p> 我的PHP验证代码:
if (!isset($_POST["qualification"])) {
header("location:register.php");
exit();
}
else{
$qualification=$_POST["qualification"];
$qualification=sanitise_input($qualification);
if (($qualification!=="underGrad") or (qualification!=="postGrad")) {
$err_msg .="<p>Please select your qualification.</p>";
}
}发布于 2020-06-19 15:35:16
问题是你的逻辑失败了,如果你看一下
if (($qualification!=="underGrad") or (qualification!=="postGrad")) {它是说,如果资格不是本科生或研究生,因为它不能两者都是,或者总是说一个不匹配。
你可以用and来说如果它不是...
if (($qualification!=="underGrad") and (qualification!=="postGrad")) {或者你可以只说它是空的(所以它必须包含一些东西)
if ( empty($qualification) ) {最后一个选项还允许您添加更多选项,而不必更新条件。
发布于 2020-06-19 15:35:16
您使用了错误的登录(或)我认为您应该使用&&。使用以下代码
if (!isset($_POST["qualification"])) {
header("location:register.php");
exit();
}
else{
$qualification=$_POST["qualification"];
$qualification=sanitise_input($reference);
if (($qualification!=="underGrad") and (qualification!=="postGrad")) {
$err_msg .="<p>Please select your qualification.</p>";
}
}https://stackoverflow.com/questions/62465348
复制相似问题