我的 html 表单中的下拉菜单之一有一个小问题。
在我的网站上,当用户第一次注册时,他需要输入几个属性。其中两个属性是通过从下拉菜单中选择来填充的:
(a) 性别(下拉菜单包含三个值:
选择....
男性
女
(b) 国家(下拉菜单包含所有国家的列表)
这两个字段都被赋予了“必填”属性。因此,必须始终填写它们。
当用户填写完所有日期后,表单被提交到MySQL数据库。
到目前为止一切都很好。
在我的网站上,有一个选项:“编辑个人资料”。当用户点击它时,他的所有属性都会显示出来。而且,如果他想改变什么,他可以自由地这样做。
但是,问题来了:“性别”字段是空的!这意味着:每当用户单击“编辑个人资料”按钮时,都需要重新输入他的性别(这当然很愚蠢!)
这是我用来注册的表格(我只显示这两个属性——性别和国家)
Gender :
<select name="gender" required>
<option value="">Select....</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
Country :
<select name="country" required>
<option value="">Country.....</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="etc, etc, etc">etc, etc, etc</option>
这个表单工作得很好。
而且,这是我用于“编辑个人资料”的表格:
Gender :
<select name="gender" required>
<option value="<?=$_SESSION['gender']?>"><?=$_SESSION['gender']?></option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
Country :
<select name="country" required>
<option value="<?=$_SESSION['country']?>"><?=$_SESSION['country']?></option>
<option value="Afganistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
</select>
因此:每当用户打开“编辑个人资料”部分时,下拉菜单中的第一个值就是用户在注册时已经输入的值(从数据库中提取)。如果他想更改值,则可以从下拉列表中进行选择。
“国家/地区”属性非常有效。
但是,“性别”属性是空的!
这很奇怪,因为它们的编码方式完全相同。
最佳答案
echo '<pre>'
print_r($_SESSION);
是否包含性别? :) 如果您的回答是否定的,请尝试检查您的 php 脚本并查询您从 db 中提取这些值的位置。
关于PHP/HTML 表单的下拉菜单不显示已填写的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32551205/