Php $\u POST不使用<;选择>;

Php $\u POST不使用<;选择>;,php,html,forms,select,post,Php,Html,Forms,Select,Post,我可以让$\u POST与输入完美配合,但由于某些原因无法与select语句配合使用。这是我的密码: registration.php <form class="form-horizontal" action="results.php" method="post"> <div class="form-group"> <label class="col-md-4 control-label" for="user_type">Typ

我可以让$\u POST与输入完美配合,但由于某些原因无法与select语句配合使用。这是我的密码:


registration.php

<form class="form-horizontal" action="results.php" method="post">

     <div class="form-group">
         <label class="col-md-4 control-label" for="user_type">Type</label>
         <div class="col-md-4">
            <select id="user_type" name='user_type' class="form-control">
                <option selected="" value="<?php if (isset($user_type)) { echo 'admin'; } ?>">Faculty</option>
                <option value="<?php if (isset($user_type)) { echo 'registeredUser'; } ?>">Student</option>
            </select>
         </div>
     </div>

     <!-- Submit Button -->
     <div class="form-group">
       <div class="col-md-12">
         <button id="submit" name="submit" class="btn btn-primary center-block"> <span class="k-icon k-si-plus"></span>Submit</button>
       </div>
     </div>

</form>

类型

我在你的代码中看不到提交按钮,它上面有name='submit'吗?
此外,如果您正在使用chrome,请检查网络中的帖子(开发者工具),查看是否发布了“提交”

在表单中使用
submit
按钮,或者使用
if($\u post)
检查帖子,因为执行registration.php时,
select id=“user\u type”
下的两个选项都没有值

<option value="<?php if (isset($user_type)) { echo 'registeredUser'; } ?>">Student</option>

假设您发布的内容是
registration.php的完整内容,那么问题是每个
用户名
选项的值都包含一个空字符串

脚本生成的实际HTML是:

<select id="user_type" name='user_type' class="form-control">
    <option selected="" value="">Faculty</option>
    <option value="">Student</option>
</select>
若要修复,请删除条件检查:

<select id="user_type" name='user_type' class="form-control">
    <option selected="selected" value="admin">Faculty</option>
    <option value="registeredUser">Student</option>
</select>
但我认为您真正想要实现的是确定在表单中选择填充这些选项中的哪一个。如果是这种情况,您应该检查是否设置了
$user\u type
,如果其值与选项值匹配,则将该选项标记为选中

<select id="user_type" name='user_type' class="form-control">
    <option <?php 
                if (isset($user_type) && $user_type === 'admin') {
                    echo 'selected="selected" '; 
                } 
            ?>value="admin">Faculty</option>
    <option <?php 
                if (isset($user_type) && $user_type === 'registeredUser') { 
                    echo 'selected="selected" '; 
                } 
             ?>value="registeredUser">Student</option>
</select>

value=“registeredUser”>学生
以下是答案 这个问题与PHP有点关系,也与HTML有点关系。PassKit在解释PHP方面做得很好,我最终在代码中使用了PHP使其正常工作。看看他关于PHP的回答和我关于HTML的回答

开头的
标记需要一个与