我有一个包含4个必需输入的表单。如果它们丢失,它们将被传递到URL中。
如果全部4缺失,它将如下所示:
?required[0]=field_name&required[1]=field_email&required[2]=field_number&required[3]=field_desc
如果缺少第一个field_name
,则数组将向前推一个,因此field_email
将为[0]。这意味着数组始终处于0,1,2,3顺序。
我想知道的是如何检索信息,以便我可以在缺少的输入周围放置红色边框?我需要的是:
while ($i=0,$i<=3,$i++) {
do ($requiredArray[i] == 'field_email') {
echo '<script type="text/javascript">$("#name)".css("border","1px solid #ff0000");</script>';
} while ();
endwhile;
}
答案 0 :(得分:0)
使用Jquery查看表单验证,它将更简单,更易于扩展。
答案 1 :(得分:0)
你也可以在php中使用array_search
,如下所示:
array_search("field_name",$_GET['required']);
如果该值大于或等于零,则可以进行处理。
就像,您可以将数组变量中的所有值说成$required_array
,并且可以使用foreach
循环,如下所示:
foreach($required_array as $val){
if(!(array_search($val,$_GET['required'])>=0)){
echo '<script type="text/javascript">$("#'.$val.')".css("border","1px solid #ff0000");</script>';
}
}
答案 2 :(得分:0)
以下是在服务器端执行验证的表单示例:
<?php
$first_name = $_GET['fname'];
$last_name = $_GET['lname'];
$email = $_GET['email'];
$submit = $_GET['submit'];
if(empty($first_name) && !empty($submit)){
$missing_fname = 1;
}
if(empty($last_name) && !empty($submit)){
$missing_lname = 1;
}
if(empty($email) && !empty($submit)){
$missing_email = 1;
}
?>
<table><form action="" method="get">
<tr><td>Enter First Name:</td><td><input type="text" id="fname" name="fname" value="<?php echo $first_name; ?>" ></td><td><?php if($missing_fname == 1) echo "<font color='red'>This field is Mandatory!</font>" ?></td></tr>
<tr><td>Enter Last Name:</td><td><input type="text" id="lname" name="lname" value="<?php echo $last_name; ?>" ></td><td><?php if($missing_lname == 1) echo "<font color='red'>This field is Mandatory!</font>" ?></td></tr>
<tr><td>Enter email:</td><td><input type="text" id="email" name="email" value="<?php echo $email; ?>"></td><td><?php if($missing_email == 1) echo "<font color='red'>This field is Mandatory!</font>" ?></td></tr>
<tr><td></td><td><input type="submit" value="submit" name="submit" id="submit"></td></tr>
</form>
</table>