Formulaire php vérification rempli et longueu

Bonjour,
Où est l'erreur ?

<?php
$error = false;
//$errormessage = "";

$errormessage = "Des erreurs sont survenues durant le traitement de votre formulaire. Veuillez effectuer les corrections suivantes :";

$prenom = $_POST['prenom'];
verifier_input($prenom, 2, "Votre prénom doit contenir un minimum de 2 caractères.");

function verifier_input($prenom, $taille, $message)
{
if ($prenom == "" || strlen($prenom) < $taille)
{
$errormessage = $errormessage. $message;
$error = true;
}
//return $errormessage;
}
echo $errormessage;
?>

Résultat :
Si je n'entre rien dans le champ prenom de mon formulaire, j'obtiens ceci :
Notice: Undefined variable: errormessage in C:\Program Files (x86)\EasyPHP-5.3.2i\www\ArcSites\inscription.php on line 20
Des erreurs sont survenues durant le traitement de votre formulaire. Veuillez effectuer les corrections suivantes :

4 réponses

  1. c'est normal tu concatenes dans ta fonction
    $errormessage = $errormessage. $message;

    hors la variable $errormessage n'existe pas encore dans ta fonction

    essayes comme ça c'est une solution, il y en a surement d'autres mais c'est sur la base de ton script

    <?php
    //fonction php
    function verifier_input($prenom, $taille, $message)
    {
    	$errormessage="";
    	if ($prenom == "" || strlen($prenom) < $taille)
    	{
    	$errormessage = $message;
    
    	}
    	return $errormessage;
    }
    
    $error = "";
    $errormessage = "Des erreurs sont survenues durant le traitement de votre formulaire. Veuillez effectuer les corrections suivantes :";
    
    $prenom = $_POST['prenom'];
    $error=verifier_input($prenom, 2, "Votre prénom doit contenir un minimum de 2 caractères.");
    
    
    if($error!=""){
    	echo $errormessage.$error;
    
    }
    ?> 
    1. Ok merci bcp :)

      Maintenant j'ai un autre problème, je veux savoir si la personne a bien coché un bouton radio : homme ou femme ...

      $error = false;
      
      
      function verifier_radio($radio, $message)
      {
      	$messageerreur="";
      	$isChecked = false;
      	//Parcours des radios afin de voir si une d'elle est à l'état "checked"
      	for ($i=0 ; $i < strlen($radio) ; $i++)
      	{
      		if ($radio[$i] = 'on') //Comment vérifier si un bouton radio a été checké ????
      		{
      			$isChecked = true;
      			break;
      		}
      	}
      				
      	if ($isChecked == false) 
      	{
      		$messageerreur = $message;
      		$error = true;
      	}
      	return $messageerreur;
      }
      
      $civilite = $_POST['civilite'];
      $erreur8 = verifier_radio($civilite, "Veuillez choisir votre civilité.");
      if($erreur8 != "")
      {
      	$messageerreur = $messageerreur. "* ". $erreur8. "\n";
      }
      


      Notice: Undefined index: civilite in C:\Program Files (x86)\EasyPHP-5.3.2i\www\ArcSites\inscription.php on line 86
      1. Et si à la fin j'écris : (je veux que le message s'affiche dans une alerte et non pas dans une simple et "moche" fenetre..)

        echo '<script type="text/javascript" language="javascript">';
        echo "alert('$messageerreur');";
        echo '</script>' ;

        Quand je valide mon formulaire, il va m'afficher dans l'alerte le <br/> en toute lettre ... vu que en javascript pour faire un retour à la ligne c'est : \n ... Donc comment faire pour pouvoir qd même faire un retour à la ligne?