IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Mise en place conditions de test


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 59
    Points : 19
    Points
    19
    Par défaut Mise en place conditions de test
    Bonjour tout le monde!

    J'ai un problème sur une page de mon site, elle gère les inscriptions sur le site en question... Jusque là, tout va bien, sauf que!
    J'ai mis des conditions (un peu partout je l'avoue) qui ne font pas leur travail... (du moins, celui espéré)

    Voici le code de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    <?php 
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=asbl;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    }
    catch(Exception $e)
    {
    //En cas d'erreur, on affiche un message et on arrête tout
    	die('Erreur : '.$e->getMessage());
    }
     
    // Si la bd s'ouvre, on continue
    // Vérification de la validité des informations
    if(isset($_POST['nom']) AND isset($_POST['prenom']) AND isset($_POST['mail']) AND isset($_POST['pass']) AND isset($_POST['pass2']))
    {
    	$mail = htmlspecialchars($_POST['mail']);
    	$nom = htmlspecialchars($_POST['nom']);
    	$prenom = htmlspecialchars($_POST['prenom']);
    	$pass = htmlspecialchars($_POST['pass']);
    	$pass2 = htmlspecialchars($_POST['pass2']);
     
    	if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['mail']))
        {
            $reponse = $bdd->prepare('SELECT email FROM membres WHERE email = :mail');
     
    		if(!$reponse->execute(array( 'mail' => $mail)))
    		{
    				//echo "L'adresse email saisie existe déjà";
    				header('Location: connexion.php?error=existEmail');
    		}
     
    		if($_POST['pass'] == $_POST['pass2'])
    		{
    			// Hachage du mot de passe
    			$pass_hache = sha1($_POST['pass']);
     
    			// Insertion
    			$req = $bdd->prepare('INSERT INTO membres(nom, prenom, email, pass, membreASBL) VALUES(:nom, :prenom, :mail, :pass, 0)');
    			$req->execute(array(
       				'nom' => $nom,
       				'prenom' => $prenom,
       				'mail' => $mail,
       				'pass' => $pass_hache));
    		}
    		else
    		{
    			//echo "Les mots de passe ne sont pas identiques";
    			header('Location: inscription.php?error=passwordMismatch');
    		}
       }
       else
       {
           //echo "L'adresse " . $_POST['mail'] . " n'est pas valide, recommencez !";
           header('Location: inscription.php?error=invalidEmail');
       }
     
    	//Inscription réussie
    	header('Location: accueil.php?error=InscripOK');
    }
    else // Il manque des paramètres, on avertit le visiteur
    {
    	//echo 'Veuillez remplir tous les champs du formulaire';
    	header('Location: inscription.php?error=emptyField');
    }
    J'ai des problèmes pour plusieurs choses comme le fait que si tous les champs ne sont pas remplis, je n'est pas de message d'erreur (ligne 15), la page continue de s'exécuter, si l'email existe déjà (ligne 27), je ne suis pas redirigé non plus, si les mots de passe ne coïncident pas (ligne 33)...
    Je ne sais pas si le problème vient du code en lui-même ou si ca vient de la base de données :/

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Déjà, n'utilise htmlspecialchars que quand tu affiches une données. Donc ici, tu peux tout retirer.

    Pour la ligne 15, isset() vérifie seulement que la variable n'est pas NULL. Utilise !empty pour vérifier son contenu (attention "0" est considéré comme "empty")

    Pour la ligne 33, execute est vrai tant que la requête est bonne, qu'il y ait des résultats ou non. Il faut regarder precisement le resultat.
    Également, header() n'arrête pas l'execution du script, place un exit()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     $reponse = $bdd->prepare('SELECT COUNT(email) FROM membres WHERE email = :email');
    $sth = $reponse->execute(array( ':email' => $mail)))
    if ($sth->fetchColumn() !== 1) {
    	header('Location: connexion.php?error=existEmail');
            exit();
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club Avatar de HydreFunky
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Moi perso pour la verification d'email je fait comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($_POST['email'] == $mail)
    {
    header('Location: connexion.php?error=existEmail');
    exit();
    }

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et $email c'est quoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club Avatar de HydreFunky
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Effectivement ce n'est pas $email mais $mail, je reprend par rapport s'est variable de sont premier poste

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne vois pas trop ou tu veux en venir car $mail c'est $_POST['mail']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    Alors alors,
    le problème d'un champ vide : c'est bon
    le format incorrect de l'email : c'est bon

    Mais, quand j'essaye de remplir tous les champs mais avec deux mots de passe différents, j'obtiens :
    ( ! ) Fatal error: Call to a member function fetchColumn() on boolean in C:\wamp64\www\ASBL\inscriptionTraitement.php on line 22

    Voila le bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $reponse = $bdd->prepare('SELECT COUNT(email) FROM membres WHERE email = :email');
     
    $sth = $reponse->execute(array(':email' => $_POST['mail']));
     
    if ($sth->fetchColumn() !== 1) 
    {
    	header('Location: connexion.php?error=existEmail');
            exit();
    }

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je me suis emmêlés les pinceaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sth = $bdd->prepare('SELECT COUNT(email) FROM membres WHERE email = :email');
     
    $sth->execute(array(':email' => $_POST['mail']));
     
    if ($sth->fetchColumn() !== 1)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Sinon, pour embrouiller encore un peu le truc, pour tester la validité d'un mail, il ya la fonction filter_​input avec le filtre FILTER_VALIDATE_EMAIL.

    Voir ce tuto sur les filtres PHP.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    ahahah merci Celira, c'est vrai que j'avais trop facile, fallait augmenter le niveau :p
    Plus sérieusement, merci, j'irai faire un p'tit tour vers le tuto

    Par contre, j'ai (encore, oui) un problème avec le code, j'ai donc écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['mail']))
    {
         $sth = $bdd->prepare('SELECT COUNT(email) FROM membres WHERE email = :email');
     
         $sth->execute(array(':email' => $_POST['mail']));
     
         if ($sth->fetchColumn() !== 1) 
         {
    		header('Location: connexion.php?error=existEmail');
            	exit();
         }
     
     ...
    }
    Et j'obtiens la sublime erreur :
    ( ! ) Parse error: syntax error, unexpected '$sth' (T_VARIABLE) in C:\wamp64\www\ASBL\inscriptionTraitement.php on line 20

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quelle est la ligne 20 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sth->execute(array(':email' => $_POST['mail']));

  13. #13
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    N'utilise pas de regex pour valider un email. Ton regex bloque les emails valides suivants, parmi d'autres:

    email+test@gmail.com
    email@accentué.fr
    email@test.space

    Vérifie just la présence d'un @ et d'un "." après ce @. Le reste est inutile et ne fera qu'énerver tes utilisateurs.

    Il y a 3 moyens pour vérifier un email, et les regex n'en font pas partie:

    - envoyer un email de confirmation avec un lien de validation - 100% efficace et gratuit.
    - vérifier auprès du serveur de mail que l'email existe - les serveurs d'email peuvent refuser de confirmer si ton IP n'est pas un IP connu, donc résultat aléatoire.
    - s'abonner auprès d'une API de vérification - 100% efficace mais payant.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    J'aime beaucoup la première idée, celle avec la validation d'email, j'y ai pensé mais étant assez mauvais (je pense qu'on peut le dire vu mon manque d'expérience :p ) je ne sais pas comment faire, je suppose que c'est quelque chose comme récupérer l'adresse email dans une variable, utiliser la balise mailto() et envoyer un email à l'email de la variable, mais comment créer le lien de validation? comment le gérer? ...

  15. #15
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Ce tutoriel t'explique comment le faire:
    http://m-gut.developpez.com/tutoriel...-confirmation/

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    Je viens de faire le fameux mail de test comme dans le tuto, j'ai modifié la condition de test pour la validité de l'email mais j'ai quand même une erreur...
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if(!empty($_POST['nom']) AND !empty($_POST['prenom']) AND !empty($_POST['mail']) AND !empty($_POST['pass']) AND !empty($_POST['pass2']))
    {
    	if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) == FALSE)
        {
            $sth = $bdd->prepare('SELECT COUNT(email) FROM membres WHERE email = :email');
    *
    		$sth->execute(array(':email' => $_POST['mail']));
     
    		if ($sth->fetchColumn() !== 1) 
    		{
    			header('Location: connexion.php?error=existEmail');
            	exit();
    		}
    et voici l'erreur :
    ( ! ) Parse error: syntax error, unexpected '$sth' (T_VARIABLE) in C:\wamp64\www\ASBL\inscriptionTraitement.php on line 20

    Une idée?

  17. #17
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Il faudrait dire ce qui est à cette fameuse ligne 20.

    Par ailleurs, si tu utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) == FALSE
    Tout ce qui va après est exécuté uniquement quand le mail n'est pas valide, ce qui est l'inverse de ce que tu cherches.

    Enfin, utilise && plutôt que AND. AND entraîne une modification de l'ordre des opérations qui n'est pas intuitive et qui peut entraîner des bugs extrêmement difficile à retracer.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    la ligne 20 est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sth->execute(array(':email' => $_POST['mail']));
    Et oui bien vu, j'ai mis FALSE au lieu de TRUE :p

  19. #19
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    SI tu regarde bien, dans le code que tu as collé, il y a un * sur la ligne précédente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           $sth = $bdd->prepare('SELECT COUNT(email) FROM membres WHERE email = :email');
    *
    		$sth->execute(array(':email' => $_POST['mail']));
    ça correspond typiquement au forum essayant de traduire un caractère bizarre et, n'y parvenant pas, le remplaçant par un caractère par défaut.
    Il y a donc fort à parier que tu as un caractère invisible (type espace insécable ou autre joyeuseté du même genre) dans ton code. Essaye en virant la ligne "vide" avant la ligne qui provoque l'erreur.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  20. #20
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    J'en ai marre de ces * qui se mettent comme ça, c'est déjà la deuxième ou troisième fois que ca m'arrive... --'
    Mais ça semble re-fonctionner, du moins, le début, car j'ai un nouveau (eeeet oui, encore) avec l'email, il me dit que l'email existe déjà alors que ma base de données est vide...
    Voici le code complet de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    <?php 
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=asbl;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    }
    catch(Exception $e)
    {
    //En cas d'erreur, on affiche un message et on arrête tout
    	die('Erreur : '.$e->getMessage());
    }
     
    // Si la bd s'ouvre, on continue
    // Vérification de la validité des informations
    if(!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['mail']) && !empty($_POST['pass']) && !empty($_POST['pass2']))
    {
    	if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) == TRUE)
        {
            $sth = $bdd->prepare('SELECT COUNT(email) FROM membres WHERE email = :email');
     
            $sth->execute(array(':email' => $_POST['mail']));
     
    		if ($sth->fetchColumn() !== 1) 
    		{
    			header('Location: connexion.php?error=existEmail');
            	exit();
    		}
     
    		if($_POST['pass'] == $_POST['pass2'])
    		{
    			// Hachage du mot de passe
    			$pass_hache = sha1($_POST['pass']);
     
    			//Création clé activation
    			$cle = md5(microtime(TRUE)*100000);
     
    			// Insertion
    			$req = $bdd->prepare('INSERT INTO membres(nom, prenom, email, pass, membreASBL, cle, actif) VALUES(:nom, :prenom, :mail, :pass, 0, :cle, 0)');
    			$req->execute(array(
       				'nom' => $nom,
       				'prenom' => $prenom,
       				'mail' => $mail,
       				'pass' => $pass_hache,
       				'cle' => $cle));
     
    			// Préparation du mail contenant le lien d'activation
    			$email = $_POST['mail'];
    			$destinataire = $email;
    			$sujet = "Activation de votre compte" ;
    			$entete = "From: noreply@casbahtrasenster.com" ;
     
    			$message = "Bienvenue sur le site de l'ASBL La Casbah Trasenster,
     
    						Pour activer votre compte, veuillez cliquer sur le lien ci dessous
    						ou le copier/coller dans votre navigateur internet.
    						 
    						http://votresite.com/activation.php?log=".urlencode($email)."&cle=".urlencode($cle)."
    						 
    						 
    						---------------
    						Ceci est un mail automatique, Merci de ne pas y répondre.";
     
    			mail($destinataire, $sujet, $message, $entete);
     
     
    		}
    		else
    		{
    			//echo "Les mots de passe ne sont pas identiques";
    			header('Location: inscription.php?error=passwordMismatch');
    			exit();
    		}
       }
       else
       {
           //echo "L'adresse " . $_POST['mail'] . " n'est pas valide, recommencez !";
           header('Location: inscription.php?error=invalidEmail');
           exit();
       }
     
    	//Inscription réussie
    	header('Location: accueil.php?error=InscripOK');
    	exit();
    }
    else // Il manque des paramètres, on avertit le visiteur
    {
    	//echo 'Veuillez remplir tous les champs du formulaire';
    	header('Location: inscription.php?error=emptyField');
    	exit();
    }
    Il s'arrête dès la ligne 25
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header('Location: connexion.php?error=existEmail');
    et me redirige là où il faut, mais sans raison...
    Je pense que le problème vient du if() (un peu logique je pense...)
    Sinon, le reste des conditions marchent très bien (sauf la comparaison de mots de passe que je n'ai pas encore su tester vu que le code plante avant...)

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/09/2011, 22h56
  2. [1.x] Mise en place de tests
    Par mach2Toulon dans le forum Symfony
    Réponses: 7
    Dernier message: 24/02/2010, 17h22
  3. Réponses: 1
    Dernier message: 16/01/2008, 23h05
  4. [Test][VS2005] Mise en place des tests unitaires
    Par Dadou74 dans le forum Test
    Réponses: 1
    Dernier message: 31/08/2006, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo