我在下面有一个代码,它在下拉菜单中显示学生详细信息,然后进行php验证,以查看是否从下拉菜单中选择了学生:
$sql = "SELECT StudentUsername, StudentForename, StudentSurname FROM Student ORDER BY StudentUsername";
$sqlstmt = $mysqli->prepare($sql);
$sqlstmt->execute();
$sqlstmt->bind_result($dbStudentUsername, $dbStudentForename, $dbStudentSurname);
$students = array(); // easier if you don't use generic names for data
$studentHTML = "";
$studentHTML .= '<select name="students" id="studentsDrop">'.PHP_EOL;
$studentHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$outputstudent = "";
while($sqlstmt->fetch())
{
$student = $dbStudentUsername;
$firstname = $dbStudentForename;
$surname = $dbStudentSurname;
$studentHTML .= "<option value='" . $student . "'>" . $student . " - " . $firstname . " " . $surname . "</option>" . PHP_EOL;
}
$studentHTML .= '</select>';
$errormsg = (isset($errormsg)) ? $errormsg : '';
if(isset($_POST['resetpass'])) {
//get the form data
$studentdrop = (isset($_POST['students'])) ? $_POST['students'] : '';
if($studentdrop = "") {
$errormsg = "Student is Selected";
}
else{
$errormsg = "You must Select a Student";
}
}
我遇到的问题是,即使我从下拉菜单中选择了一名学生,它仍会显示一条消息,指出“你必须选择一名学生”。
假设发生的情况是,如果用户没有选择学生,或者换句话说,当他们提交了表单并且下拉菜单仍然在“请选择”选项上时,则显示消息说明用户必须选择学生,否则,如果用户确实从下拉菜单中选择了学生,则显示已选择学生的消息。
答案 0 :(得分:4)
您应该if($studentdrop == ""){
同等地使用if($studentdrop != ""){
,或者if($studentdrop = ""){
同等地使用$studentdrop
。请注意比较运算符。
如果您使用{{1}},则表示您将空字符串分配给变量{{1}}。