我正在尝试放置一个下拉菜单,但由于某种原因,它无法获得所选选项。我使用POST方法将其发送到PHP服务器。
<center><form style="align:left;"action="signuphand.php" method="post" accept-charset="utf-8">
<label>Enter name of teacher: </label><input type="text" name="name" value="" placeholder="Name">
<br />
<label>Enter branch:
<select name="branch">
<option value="SELECT BRANCH">SELECT BRANCH</option>
<option value="ECE">ECE</option>
<option value="CSE">CSE</option>
<option value="MECH">MECH</option>
<option value="E & I">E & I</option>
<option value="CIVIL">CIVIL</option>
<option value="ELECTRICAL">ELECTRICAL</option>
</select>
</label>
<br />
<label>Enter role:
<select id="role">
<option value="SELECT ROLE">SELECT ROLE</option>
<option value="teacher">teacher</option>
<option value="student">student</option>
</select>
和PHP是
if (isset($_POST['register']))
{
$name= $_POST['name'];
if (isset($_POST['branch'])){
$branch= $_POST['branch'];
}
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2= $_POST['password1'];
if (isset($_POST['branch'])){
$role= $_POST['role'];
}
但是问题仍然没有解决。我的表中的branch和role列仍然为空。遵循此技术
How to get a value of HTML drop down menu using PHP?
还有许多其他问题仍然存在,请帮助。因为没有它,所以使用了isset因为没有得到“角色”和“分支”的未定义索引。
最佳答案
对于第二个选择标记,您使用了“ id”属性而不是“ name”。因此,您应该首先将其更改为名称:
<select name="role">
<option value="SELECT ROLE">SELECT ROLE</option>
<option value="teacher">teacher</option>
<option value="student">student</option>
</select>
其次,在您的php文件中,检查是否设置了“ branch”而不是“ role”。所以也解决这个问题:
if (isset($_POST['register']))
{
$name= $_POST['name'];
if (isset($_POST['branch'])){
$branch= $_POST['branch'];
}
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2= $_POST['password1'];
if (isset($_POST['role'])){
$role= $_POST['role'];
}
如果仍然无法解决问题,请考虑发布您的整个代码,也许那里出了点问题。
关于javascript - 在HTML表单中实现下拉选项菜单的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45531181/