在一个包含表单的小网站上工作,其中一个选项是下拉选项(菜单),看起来像这样
adduser.html
<label for="username">Username: <input type="text" id="username" name="username" value="" /><br />
<select name="level">
<option value="1">Select Level...</option>
<option value="2">Boss</option>
<option value="3">Employee</option>
</select><br />
<label for="password">Password: <input type="text" id="password" name="password" value="" /><br />
我这样做是为了验证是否选择了not选项
uservalidation.php
if(empty($_POST['username']))
{
die("Enter a username<br><a href='adduser.php'>back</a>");
}
if(empty($_POST['password']))
{
die("Enter a password<br><a href='adduser.php'>back</a>");
}
if(isset($_POST['level']) && ($_POST['level'] == '1'))
{
die("Select level<br><a href='adduser.php'>back</a>");
}
但这不是工作任何想法为什么,或如何解决这个问题?
Thanks in advance
在HTML周围使用form
标签,并确保在form
标签中使用method="post"
,以便您的POST
请求在PHP
中工作。
form
标签的action
属性只指定表单将提交数据的URL。
试试这个:
<form action="#" method="post">
<label for="username">Username: <input type="text" id="username" name="username" value="" /><br />
<select name="level">
<option value="1">Select Level...</option>
<option value="2">Boss</option>
<option value="3">Employee</option>
</select><br />
<label for="password">Password: <input type="text" id="password" name="password" value="" /><br />
<input type="submit">
</form>
<?
if(isset($_POST['level']) && ($_POST['level'] == '1'))
{
die("Select level<br><a href='adduser.php'>back</a>");
}
?>
正如评论中提到的,我在那里添加了一个isset($_POST)
签入,以避免Undefined index
。
看起来不像是在验证表单是否已发布。
if(isset($_POST['level']) && ($_POST['level'] == '1'))
{
die("Select level<br><a href='adduser.php'>back</a>");
}