2012-07-11 130 views
0

我有一个需要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

你可能想要在JS/jQuery中做这些验证,而不是在服务器端。 – alfasin 2012-07-11 05:03:56

+0

@alfasin是的,有人向我展示了jquery验证作为答案之一,下次我肯定会使用它。但我真的想完成现在的发展。 – muudless 2012-07-11 06:13:23

+0

它现在的方式无法工作。如果你想在服务器端执行验证,你必须建立一个表单,将其提交给服务器端,它将接受它(合法值)或在未通过的字段旁边显示错误消息验证 – alfasin 2012-07-11 06:17:42

回答

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>'; 
} 
} 
+0

有趣您能否为我详细说明一下?因为有4个参数,我应该使用'while'语句吗? – muudless 2012-07-11 05:44:18

+0

我已经更新了答案,请检查并让我知道 – Prabhuram 2012-07-11 06:38:16

0

看看使用jquery的表单验证它会更简单,更具扩展性。

http://docs.jquery.com/Plugins/Validation

+0

该死!我一定会在下次使用。不幸的是,我坚持为这个项目工作。感谢那! – muudless 2012-07-11 05:45:32

+0

它将服务器上的一些处理卸载到客户端上......这在我的书中总是很好,特别是对于这样的事情。 – sean 2012-07-11 12:55:30

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>