Formulaire php vérification rempli et longueu

floflo321 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
floflo321 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
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 :
A voir également:

4 réponses

will5555 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   45
 
essaye ça

if (isset($prenom) OR strlen($prenom) < $taille)
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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
floflo321 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
floflo321 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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