我的html表单中的一个下拉菜单有一个小问题。
在我的网站上,当用户第一次注册时,他需要输入几个属性。其中两个属性是通过从下拉菜单中选择填充的:
(a)性别(下拉菜单包含三个值:
选择……男性女性
(b)国家(下拉菜单包含所有国家的列表)
这两个字段都被赋予了"required"属性。所以,它们必须总是被填满。
当用户填写完所有日期后,表单被提交给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>
因此:每当用户打开"编辑配置文件"部分时,下拉菜单中的第一个值是用户在注册(从数据库中提取)时已经输入的值。如果他想更改值,他可以从下拉菜单中选择。
"country"属性可以正常工作。
但是,"gender"属性是空的!
这很奇怪,因为它们都以完全相同的方式编码。
echo '<pre>'
print_r($_SESSION);
是否包含性别?:)如果你的答案是否定的,试着检查你的php脚本和查询,你从db提取这些值。