[Mail] php et champ de saisie
bonjour,
voila j'ai un formulaire avec juste les champs "email" et "password" donc leur déclaration et en HTML. PUIs l'utilisateur appuie sur un bouton "envoyer" etje récupère les valeur entrée par php pour vérifier les donnée...etc
Le probleme c'est que les valeur écrites dans les champs disparaisse aprés appui sur le bouton et je voudrait pouvoir les conserver, du moins pour l'émail ou les reécrire dans la cas ou l'utilisateur écrirait un email avec un mauvais format, ou un mot de passe trop court...
Comment faire?? voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| <?php
//rentrer du mail et du mot de passe
$form="<form method=\"POST\">
<p>Adresse E-mail : <input type=\"text\" name=\"mail\" size=\"50\" value=\"\"></p>
<p>Mot de passe : <input type=\"password\" name=\"password\" size=\"30\" value=\"\"></p>
<p>Retaper votre mot de passe : <input type=\"password\" name=\"re_password\" size=\"30\" value=\"\"></p>
<p><input type=\"submit\" value=\"Envoyer\" name=\"envoyer\"></p>
</form>";
echo $form;
$correct=FALSE;
//vérification du format du mail et du password
if(isset($HTTP_POST_VARS['envoyer']))
{
$correct=TRUE; //détecte les erreurs
//partie mail
print('<br>');
$mail=trim(STRTOLOWER($HTTP_POST_VARS['mail'])); //majuscule -> minuscule et espace devant derrière
if(empty($mail)){ print('<b>Entrez une adresse E-mail</b><br>'); $correct=FALSE; }
elseif(STRLEN($mail)>50) { print('<b>Votre E-mail ne doit pas dépasser 50 caractères</b><br>'); $correct=FALSE; }
elseif(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$mail))
{ print('<b>Rentrez une adresse E-mail valide</b><br>'); $correct=FALSE; }
//partie mot de passe
$password=trim($HTTP_POST_VARS['password']);
$re_password=trim($HTTP_POST_VARS['re_password']);
if(empty($password)) { print('<b>Entrez un mot de passe</b><br>'); $correct=FALSE; }
elseif( (STRLEN($password)<6) || (EREG(" ",$password)) || (STRLEN($password)>20) )
{ print('<b>Mot de passe non valide : entre 6 et 20 caractères et sans espace</b><br>'); $correct=FALSE; }
elseif($password!=$re_password)
{ print('<b>Vous avez tapé deux mots de passe différents</b>'); $correct=FALSE; }
//vérifie mail avec serveur DNS : non utilisable sous Windows
/*list($user,$dns)=explode("@",$HTTP_POST_VARS['mail']);
If(!checkdnsrr($dns)) print('Votre serveur de messagerie ne répond pas : E-mail non valide');
*/
$form['mail']=$mail;
}
//continuation si $correct==TRUE |
J'avais pensé à "$form['\"mail\"']=$mail;" pour reécrire les valeur mais ça marche pas !
Merci d'avance