Re: very large and long if statement

From: Date: Wed, 07 Apr 2004 23:01:07 +0000
Subject: Re: very large and long if statement
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-182741@lists.php.net to get a copy of this message
Robert Cummings wrote:
On Wed, 2004-04-07 at 18:47, Andy B wrote:
I have this very large and long if statement: if (!empty($_SESSION['add']['type']) && !empty($_SESSION['add']['start_date'] && !empty($_SESSION['add']['end_date']) && !empty($_SESSION['add']['name']) && !empty($_SESSION['add']['county']) && !empty($_SESSION['add']['discription']) && !empty($_SESSION['add']['StartingDay']) && !empty($_SESSION['add']['StartingMonth']) && !empty($_SESSION['add']['StartingYear']) && !empty($_SESSION['add']['EndingDay']}) && !empty($_SESSION['add']['EndingMonth']) && !empty($_SESSION['add']['EndingYear'])) {//run the insert query} else {//show error since one or more fields above are blank} was wondering if there was really any way to condense that down to something any better? all fields in the form that those came from are required...
$errors = array(); foreach( $_SESSION['add'] as $key => $value ) {
    if( isempty( $value ) )
    {
        $errors[] = "You forgot to fill $key."
    }
} if( count( $array ) ) {
    echo 'Hey MORON! You have the following errors:<br />';
    echo '<ul>'
        .'<li>'
        .implode( '</li><li>', $errors );
        .'</li>'
        .'</ul>';
} else {
    // Do SQL INSERT query.
} Cheers, Rob.
But if they didn't fill it in, it won't be in the array and therefore won't be checked. You need to specify those keys manually. foreach(array('type', 'start_date', etc...) as $key) { if(empty($_SESSION['add'][$key])) { $errors[] = $key.' not filled out'; } } -- paperCrane <Justin Patrin>

« previous php.general (#182741) next »