From: "W.D." <[EMAIL PROTECTED]>

> I dont know how to do this, but Ive tried several things with no success.
I
> need to validate several form fields and here is the script I'm working
> with...
>
> <?php if($HTTP_SERVER_VARS["REQUEST_METHOD"] == "POST")
> {
> (eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,3}$", $Email))?
> header("Location: http://www.site.com/thanks.php"):
> header("Location: http://www.site.com/error.php");
> }
> ;?>
>
> I need to check at least two more fields, possibly 3 but I keep getting
> errors when trying to loop through a bunch of if statements. The above
works
> fine but I need to check eregi() against more strings from fields which
then
> redirects as shown above. Anyone?
>


<?php
    if (getenv("REQUEST_METHOD") == "POST")
    {
        if (
            eregi("pattern1", $field1)
            && eregi("pattern2", $field2)
            && eregi("pattern3", $field3)
        )
        {
            echo "thanks";
        }
        else
        {
            echo "error!";
        }
    }
?>


Or if you want better error reporting:


<?php
    if (getenv("REQUEST_METHOD") == "POST")
    {
        $errors = array();

        if (!eregi("pattern1", $field1))
        {
            $errors[] = "field1 is not right";
        }
        if (!eregi("pattern2", $field2))
        {
            $errors[] = "field2 is not right";
        }
        if (!eregi("pattern3", $field3))
        {
            $errors[] = "field3 is not right";
        }

        if (count($errors) > 0)
        {
            echo "Sorry, " . count($errors) . " errors occurred, please try
again.\n<ul>";
            foreach ($errors as $err)
            {
                echo "<li>$err\n";
            }
            echo "</ul>";
        }
    }
?>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to