在HTML表单中实现下拉选项菜单的正确方法是什么?

时间:2017-08-06 10:44:23

标签: javascript php html

我试图放下一个下拉菜单但由于某种原因它无法获得所选的选项。我使用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'];  
    }

但问题仍未解决。我的表中的分支和角色列仍为空。拥抱这种技术 How to get a value of HTML drop down menu using PHP?

还有很多其他问题仍然存在,请帮忙。使用isset因为没有它我得到'角色'和'分支'的未定义索引。

1 个答案:

答案 0 :(得分:1)

对于第二个选择标记,您使用了&#34; id&#34;属性而不是&#34; name&#34;。所以你应该先改名为:

<select name="role">
  <option value="SELECT ROLE">SELECT ROLE</option>
  <option value="teacher">teacher</option>
  <option value="student">student</option>
</select> 

其次,在你的php文件中,你检查了&#34; branch&#34;被设置而不是&#34;角色&#34;。所以也要解决这个问题:

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'];  
}

如果它仍然不起作用,请考虑发布您的整个代码,也许有些问题。