如何从URL获取数组参数


How to get array parameters from URL?

我有一个包含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;
}

您也可以在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>';
 }
}

使用Jquery进行表单验证会更简单、更具扩展性。

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

下面是一个在服务器端预成型验证的表单示例:

<?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>