Formulaire php vérification rempli et longueu

floflo321 Messages postés 4 Statut Membre -  
floflo321 Messages postés 4 Statut Membre -
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. will5555 Messages postés 370 Statut Membre 45
     
    essaye ça

    if (isset($prenom) OR strlen($prenom) < $taille)
    0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    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;
    
    }
    ?> 
    0
  3. floflo321 Messages postés 4 Statut Membre
     
    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
    0
  4. floflo321 Messages postés 4 Statut Membre
     
    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?
    0