Php $\u POST不使用<;选择>;
我可以让$\u POST与输入完美配合,但由于某些原因无法与select语句配合使用。这是我的密码: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
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的回答
开头的
您的HTML中是否有?我建议你做var_dump($_POST);查看$\u POST实际包含的内容。确定user\u type在html中有任何值吗?好吧,我确实尝试了它,但值中没有php,也就是:Faculty,但仍然没有输出。我猜,在您的注册脚本中,变量$user\u type没有设置。因为没有设置,所以两个选项的值被设置为空字符串,这可以解释为什么results.php中的变量为空。尝试使用浏览器检查器检查您的选项是否确实包含值。以下是显示检查器结果的屏幕截图。我发现$user_类型变量不起作用的奇怪之处在于,为什么它们不在语句中起作用,而在语句中起作用?所以你建议…?这取决于你试图实现什么。您可以在registration.php中定义$user\u type
(这样isset($user\u type)
将计算为true
),或者更改代码,使这些选项具有一些回退值,例如:将我的注释翻译成答案;-)嗯。。。如果您在没有我建议的PHP更改的情况下尝试您的解决方案(答案中也包含了这些更改),您会发现解决方案与表单ID的省略无关。如果您需要说服力,请尝试运行此处发布的代码嘿,伙计,我根本没有给出您的答案。我所知道的是,当我使用您的代码时,没有HTML表单ID,它仍然无法输出到results.php页面。我不知道你为什么否决我的答案。。。尽管如此,这是正确的。就PHP而言,您的也是如此。谢谢你的帮助。如果你愿意的话,我可以改变我在这里回答的一些技术细节。我不是说你错了。我只是说什么对我有用。对不起!我不是说你“放下”了我的答案。这个网站的存在是为了帮助人们解决编码问题。您的答案的编写方式意味着只需添加一个表单ID即可解决问题。这是不正确的,因此,否决票和评论会让其他可能偶然发现此问题的用户知道接受的答案不会解决问题。试着从问题中提取原始代码,只在表单中添加一个ID——你会发现这完全没有什么区别,因为你的PHP仍然会在你的选项标记的值属性中写入一个空字符串
<select id="user_type" name='user_type' class="form-control">
<option selected="selected" value="admin">Faculty</option>
<option value="registeredUser">Student</option>
</select>
<?php $user_data = true; ?>
<form class="form-horizontal" action="results.php" method="post">
<div class="form-group">
...
<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>
<form id="user-form" class="form-horizontal" action="results.php" method="post">
<!-- Faculty or Student? DROP-DOWN -->
<div class="form-group">
<label class="col-md-4 control-label" for="user_type">Type</label>
<div class="col-md-4">
<select form="user-form" 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>
</div>
</div>
<!-- Submit Button -->
<div class="form-group">
<div class="col-md-12">
<button id="singlebutton" name="submit" class="btn btn-primary center-block"> <span class="k-icon k-si-plus"></span>Submit</button>
</div>
</div>
</form>