php中的Html多选择字段问题
我有一个带有多个选择字段的html表单。我试图用php验证它。但是我不能用php验证这个多选字段。这是一条未经任何验证的“向我展示成功”消息 请告诉我我的代码有什么问题。多谢各位 Php代码:php中的Html多选择字段问题,php,html,Php,Html,我有一个带有多个选择字段的html表单。我试图用php验证它。但是我不能用php验证这个多选字段。这是一条未经任何验证的“向我展示成功”消息 请告诉我我的代码有什么问题。多谢各位 Php代码: <?php if(isset($_POST['Submit']) && $_POST['Submit'] == "Send SMS") { if(isset($_POST['number'])) $number = $_POST['number'];
<?php
if(isset($_POST['Submit']) && $_POST['Submit'] == "Send SMS")
{
if(isset($_POST['number']))
$number = $_POST['number'];
$msg = inputvalid($_POST['txt']);
$err = array();
if(isset($msg) && isset($number))
{
if(empty($msg) && empty($number))
$err[] = "All field require";
else
{
if(empty($msg))
$err[] = "Your message require";
if(empty($number))
$err[] = "Select your mobile number";
}
}
if(!empty($err))
{
echo "<div class='error'>";
foreach($err as $er)
{
echo "<font color=red>$er.</font><br/>";
}
echo "</div>";
echo "<br/>";
}
else
{
echo "good";
}
}
?>
<form name="frm" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>">
<table width="800" border="0" cellspacing="10" cellpadding="0">
<tr>
<td valign="top">Number</td>
<td>
<select multiple="multiple" size="10" name="number[]">
<option value="">--Select Member--</option>
<?php
$class = mysql_query("SELECT * FROM e_members");
while($res = mysql_fetch_array($class))
{
$phone = $res['phone'];
?>
<option value="<?php echo $phone; ?>"> <?php echo $phone; ?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr>
<td valign="top">Write message</td>
<td>
<textarea class="textarea" placeholder="Your message" name="txt" onkeyup="counter(this);">
<?php if(isset($_POST['txt'])) echo $_POST['txt']; ?>
</textarea>
<br/>
<input type="" name="lbl" style="border:none;">
<br/>
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="Submit2" value="Save SMS" class="view"/>
<input type="submit" name="Submit" value="Send SMS" class="submit"/>
</td>
</tr>
</table>
</form>
如果不选择,则显示:
NULL
您正在尝试使用
空($number)
验证数组$number
。它不会像你期望的那样工作
您可以将其验证为
if(is_array($number)&&count($number)>0)
问题是,您对空值的检查在if(isset($msg)&&isset($number))的检查中。
一旦您发布表单,这些变量就设置好了。由于您已经在检查post是否已设置,请删除此外部if语句,然后只检查空值,它应该可以工作。请发布var\u dump($number)
@Barmar我正在这样做。@Barmar检查我的更新文档说明empty
对于空数组将返回true
。
NULL