Показване на грешки

qazxsw

Registered
Правя скрипт за регистрация и ми трябва малко помощ с изкарването на грешки


В момента правя така:

PHP:
if ( условие ) {
    echo "Всички полета са задължителни";
}

elseif ( условие ) {
    echo "Паролата трябва да е по дълга от 6 символа.";
}


и т.н.

Това което искам е всички грешки да се съберат в един array и после този array да мине през проверка дали е празен и ако не е , да изреди всички грешки.


Логиката ми накуцва ето тук:

PHP:
    //Create array for errors
    $error_array = array();
    
    //Need for the sql_secure function
    require_once("includes/functions/secure.func.php");
    
    //Get the variables and secure them
    $email = sql_secure($_POST['email']);
    $password = sql_secure($_POST['password']);
    
    
    
    //Check if empty
    if( empty($email) || empty($password) ){
        array_push($error_array, "All fields are required!");
        echo "Fields";    
    }
    
    //Check if password is less than 6 symbols
    elseif( strlen($password) < 6 ){
        array_push($error_array, "Your password can't be less than 6 symbols.");
        echo "Password";    
    }
    
    //Check if there are errors in the array
    elseif( !empty($error_array) ){
        echo "ForEach";
        foreach( $error_array as $error ){
            echo $error."<br />";
        }
    }
    
    //Everything else
    else{
        echo "Login";
    }

защото ако едно от условията е вярно то не изпълнява другите.

Някакви идеи?
 
Общо взето са ти отговорили в горния пост. Използвал си една условна конструкция и за това се изпълнява само едно условие ;)
PHP:
    //Create array for errors
    $error_array = array();
    
    //Need for the sql_secure function
    require_once("includes/functions/secure.func.php");
    
    //Get the variables and secure them
    $email = sql_secure($_POST['email']);
    $password = sql_secure($_POST['password']);
    
    
    
    //Check if empty
    if( empty($email) || empty($password) ){
		$error_array[] = "All fields are required!";
        echo "Fields";    
    }
    
    //Check if password is less than 6 symbols
    if( strlen($password) < 6 ){
		$error_array[] = "Your password can't be less than 6 symbols."
        echo "Password";    
    }
    
    //Check if there are errors in the array
    if( sizeof($error_array)>0 ){
        echo "ForEach";
        foreach( $error_array as $error ){
            echo $error."<br />";
        }
    }
    
    //Everything else
    else{
        echo "Login";
    }
 

Back
Горе