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. 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?
    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. 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;
        
        }
        ?>