Script de verification de formulaire d'inscription

drebin78945 Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 11 avril 2006 - 11 avril 2006 à 18:58
drebin78945 Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 11 avril 2006 - 11 avril 2006 à 20:18
Bonjour,

Apres avoir tout tenté pendant plusieurs heures, je ne vois vraiment pas où est l'erreur.

J'ai un formulaire d'inscription avec un script que j'ai pris sur ce site et que je modifie, script qui verifie que tout soit correctement rempli avant de proceder à l'enregistrement :

<?php
if ($_POST['accepte'] =="vrais"){

if((empty($_POST['login'])) || (empty($_POST['pass'])) || (empty($_POST['mail'])) || (empty($_POST['nom'])) || (empty($_POST['prenom']))){

if[...] //.....je coupe c'est l'endroit avec les messages pour les champs vides

}
else if(($pass == $pass2) && (strlen ($pass)>5)){

if ($login_unique != $login){
$login_unique = test_login_unique($login);
$message .= "
Erreur :ce login existe d&eacute;ja. Merci d'en choisir un nouveau. Proposition de login : $login_unique";
}
else if ($mail_unique != $mail_internaute){
$mail_unique = test_mail_unique($mail_internaute);
$message .= "
Erreur :cette adresse e-mail est d&eacute;ja utilis&eacute;e. Merci d'en choisir une autre.";
}
else{
include ('envoi_mail_confirmation.php');
}

}
else{
$message .= "
Erreur de mot de passe, verifier qu'il comporte un minimum de 6 caractères, et que vous ayez correctement saisi deux fois le meme mot de passe (verifiez la touche MAJ)\n";
}

}
else{
$message .= "
Vous devez accepter les conditions pour ouvrir votre session\n";
}

?>

le script est censé verifier dans l'ordre: si les conditions sont acceptées, puis si tous les champs obligatoires sont remplis, puis si le mot de passe est ok (pass1=pass2 et pass>5=, puis si login non utilisé, puis si email non utilisée, et enfin si tout ca est ok, j'inclu le script qui enregistre le formulaire et envoi le mail de conifrmation.

Tout fonctionne jusqu'à la verification des champs vides, par contre, si je remplis tous les champs obligatoires, mais que je fais une erreur de mot de passe (<5 ou pass1 different de pass2), il ne me dit absolument rien, et arrete le script (tente pas l'enregistrement).

je suis pourtant (presque) certain que ce script est cohérent et les accollades équilibrées.... ca fait 2 jours que je suis dessus.

Si quelqu'un peut me dire d'où vient l'erreur, ce serait super!!

Merci d'avance!

5 réponses

audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
11 avril 2006 à 19:13
Je pourrai mieux d'aider si tu pouvais indiquer le script que tu utilises (car je ne sais pas d'où proviennent cettes variables comme "pass2" ...)
0
drebin78945 Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 19:47
login, pass, pass2, etc... sont des variables issues du formulaire d'inscription:

if(isset($_POST['Submit'])){
$login = $_POST['login'];
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];
etc...

le script a été modifié par rapport au script initial, mais sinon pour info, il vient de là:

http://www.phpcs.com/codes/ESPACE-SECURISE-AVEC-FORUM-ESPACE-ADMINISTRATEUR_30572.aspx#commentaires
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
11 avril 2006 à 20:03
Essaye ce script :
"<?php
if (isset($_POST['accepte']) AND $_POST['accepte'] == 'vrais')

if(empty($_POST['login']) OR empty($_POST['pass']) OR empty($_POST['mail']) OR empty($_POST['nom']) OR empty($_POST['prenom'])) {

if[...] //.....je coupe c'est l'endroit avec les messages pour les champs vides

}
else if(isset($_POST['pass']) AND isset($_POST['pass2']) AND $_POST['pass'] == $pass2 AND strlen($_POST['pass']) > 5)

if (isset($login_unique) AND isset($_POST['login']) AND $login_unique != $_POST['login']) {
$login_unique = test_login_unique($_POST['login']);
$message .= '
Erreur :ce login existe d&eacute;ja. Merci d\'en choisir un nouveau. Proposition de login : '.$login_unique;
}
else if (isset($mail_unique) AND isset($_POST['mail_internaute']) AND $mail_unique != $mail_internaute){
$mail_unique = test_mail_unique($mail_internaute);
$message .= '
Erreur :cette adresse e-mail est d&eacute;ja utilis&eacute;e. Merci d\'en choisir une autre.';
}
else require_once('envoi_mail_confirmation.php');


else $message .= '
Erreur de mot de passe, verifier qu\'il comporte un minimum de 6 caractères, et que vous ayez correctement saisi deux fois le meme mot de passe (verifiez la touche MAJ)
';


else $message .= '
Vous devez accepter les conditions pour ouvrir votre session
';

?>"

Je te promet rien ... Si cela ne fonctionne pas, j'essayerai avec le script complet ce soir ou demain
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
11 avril 2006 à 20:09
Désolé pour le flood (dommage qu'il n'y ai pas de fonction "modifier" sur ce forum ^^ lol)
Je viens de lire ton commentaire. Juste pour l'information, les erreurs comme "Notice: Undefined index: accepte in c:\program files\easyphp1-8\www\admin_utilisateur\inscription.php on line 10" signifient qu'une variable n'est pas vérifier ... (pour les vérifier, tu utilises la fonction "isset" comme sur le script que j'ai mis au dessus (pour une fois que je fais quelques choses de bien )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drebin78945 Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 20:18
"Notice: Undefined index: accepte in c:\program files\easyphp1-8\www\admin_utilisateur\inscription.php on line 10"

mais j'ai pas ecrit que j'avais ce type d'erreur
0
Rejoignez-nous