我创建了一个下拉列表,该列表由mysql db中的数据填充,我试图将选定的值保存在会话变量中,但是我不确定如何写(在***中)?它是否需要通过PHP发布到服务器端?

    <?php
$servername1 = "localhost";
$username1 = "root";
$password1 = "";
$dbname1 = "gpdb1";
$conn1 = new mysqli($servername1, $username1, $password1, $dbname1);
if ($conn1->connect_error) {
die("connection failed: " . $conn1->connect_error);
}
$sql2 = "SELECT DoctorID, Title, Surname FROM doctors";
$result2 = $conn1->query($sql2);
echo "<select name='doctor' value=''><option>Select a Doctor</option>";
if ($result2->num_rows > 0) {
foreach($result2 as $row2)
{echo "<option value=".$row2['DoctorID'].">".$row2['Title']."     ".$row2['Surname']."</option>";
}
}echo "</select>";
$_SESSION['selected']=***;
if (isset($_SESSION['selected'])){
echo $SESSION['selected'];}
?>


谢谢 :)

最佳答案

首先,我建议您缩进代码,以提高可读性!

标记中的HTML属性“值”没有用,您可以将其删除。

然后,使用isset()控制会话字段是没有用的,因为您刚刚在上面设置了它。

我认为您只需要控制post字段中的给定值是否正确即可。

您要查找的行是:

$_SESSION['selected'] = $_POST['doctor'];

09-27 15:21