Page 1 sur 1

Array fonction et variables

Posté : 05 janv. 2007, 21:05
par Sarawak
Bonsoir,

Dans ma page principale j'appelle avec un include une page de validation
  include ("include/valid_formulaire.php5");
Je défini dans ma page principale uen variable gloable et je l'initialise en tant que tableau
global $error;
$error=array();
Un peu plus tard dans le code je fais appel à une fonction contenue dans ma page de validation incluse précédement afin de vérifier la valeur saisie
   function valid_nom($nom,$type){
        if(empty($nom)|| trim($nom)==''){
    		array_push($error,"Attention, le '.$type. ' doit être saisi");
    	}
 }
Cette fonction doit vérifier si la variable nom a bien été saisie dans le cas contraire doit stocker dans le tableau précédement défini un message d'erreur.

et là, ça marche pas j'ai ce message d'erreur :
First argument should be an array

Avez vous une idée ? dois je définir mon tableau autrement afin qu'il soit accessible par ma fonction ?

Posté : 05 janv. 2007, 21:39
par Cyrano
Non, tu fais appel à l'intérieur de ta fonction à une variable extérieure : pour ue ça fonctionne, il faut a déclarer globale :
function valid_nom($nom,$type)
{
    global $error;
    if(empty($nom)|| trim($nom)=='')
    {
        array_push($error, "Attention, le ". $type ." doit être saisi");
    }
} 
Et je te signale au passage que faire une concaténation dans une chaine encadrée de guillemets doit se faire également avec des guillemets : donc :
"...le ". $type ." doit..."
et non
"...le '. $type .' doit..."

Enfin, on peut quand même simplifier un peu ta fonction :
function valid_nom($nom,$type)
{
    global $error;
    if(empty(trim($nom)))
    {
        $error[] = "Attention, le ". $type ." doit être saisi";
    }
}

Posté : 06 janv. 2007, 09:49
par Sarawak
Merci pour tous ces conseils, je m'en vais de ce pas tester tout cela