[PHP] Formulaire probleme de validation

Fermé
edelweiss77 - 27 mai 2006 à 17:56
griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 - 7 juin 2006 à 11:52
Voici MON CODE PHP : Merci de bien vouloir corriger

<?php
/* définir les champs à tester*/
$email=$_POST['email'];

$info = array (" email" =>"email","nom" =>"nom"," login" => "login","mot de passe" => "mdp","Confirmez mot de passe" => "mdp1");

foreach($_POST as $clé=>$valeur)
{

/* controler tous les champs sauf celui du telephone*/

if($valeur =="")

{
$champVide[$clé] = "blanc"; 
}
//vérification de la validité des noms propres
elseif ($clé =="nom" or $clé =="nom")
{ if (!ereg("^[A-Za-z' -]{1,50}$",$_POST[$clé]) )

{$mauvaisFormat[$clé] = "mauvais";

}
}
elseif ($clé =="login")
{if(empty($valeur))
{$mauvaisFormat[$clé] = "mauvais";
}
}
elseif ($clé =="email")
{if(!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. 
'@'. 
'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'. 
'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', 
$email)) { $mauvaisFormat[$clé]= "mauvais";
}
}
elseif ($clé =="mot de passe" or $clé =="mdp")
{if(strlen($valeur)>5){ $mauvaisFormat[$clé]= "mauvais";
}
}
//if ($mdp<>$mdp1)
//{ $mauvaisFormat[$clé]= "mauvais";
//}


elseif ($clé =="mot de passe" or $clé =="mdp")
{if(!eregi("^[a-zA-Z0-9]{4,8}$",$valeur)) 
{ $mauvaisFormat[$clé]= "mauvais";
}
}
}// fin de la boucle foreach pour $_POST 

/* si l'un des champs est incorrect, afficher un message */
if(@sizeof($champVide) >0 or @sizeof($mauvaisFormat)>0)
{
if(@sizeof($champVide) >0)
{
/* message pour information manquante */

echo"<b><br>Un des champs obligatoires n'a pas été renseigné.
        Vous devez saisir :</b></br>";

/* affichage du nom des informations requises */
foreach($champVide as $clé =>$valeur)

{
echo "   {$info[$clé]}<br>";
}//fin de la boucle foreach pour les champs vierges 
}
if (@sizeof($mauvaisFormat) >0)

{
/* message pour information invalide */
echo"<b><br>Un ou plusieurs champs contiennent des informations qui semblent incorrectes. Corrigez le format de :</b></br>";
/* affiche la liste des informations incorrectes*/

foreach($mauvaisFormat as $clé => $valeur)
{
echo "   {$info[$clé]}<br>";

}
}
}
?>
EN HTML : 
<form  method="POST" action="utilisateur.php">
<tr><td align=right> nom :<td><input type="text" name="nom"></td></tr>

<tr><td align=right> login : <td><input type="login" name="login"></td></tr>

<tr><td align=right>email : <td><input type='email' name='email'></td></tr>

<tr><td align=right> mot de passe : <td><input type="password" name="mdp"></td></tr>
<tr><td align=right>Confirmez mot de passe : <td><input type="password" name="mdp1"></td></tr><br>
<br>
<td><td align=center><input type="submit" name="Submit" value="Valider"></td></tr><br>
<br></td>
</table></form></table>
</div><br>


ET sa m'Affiche :
Un des champs obligatoires n'a pas été renseigné. Vous devez saisir :

Notice: Undefined index: login in c:\program files\easyphp1-7\www\arom_arts\utilisateur.php on line 68


Notice: Undefined index: mdp in c:\program files\easyphp1-7\www\arom_arts\utilisateur.php on line 68


Notice: Undefined index: mdp1 in c:\program files\easyphp1-7\www\arom_arts\utilisateur.php on line 68


Un ou plusieurs champs contiennent des informations qui semblent incorrectes. Corrigez le format de :

Notice: Undefined index: email in c:\program files\easyphp1-7\www\arom_arts\utilisateur.php on line 80


BILAN PROBLEME DE
MOT DE PASSE = a sa confirmation car mon code pas bon


AIDER MOI ! Merci d'avance

1 réponse

griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 119
7 juin 2006 à 11:52
Salut,
A mon avis commence déja par remplacer les é de $clé par un e, je pense pas que les accentuations soient acceptées dans les variables. Tiens moi au courant.
0