Bonjour,

Je viens de suivre le tuto pour créer un espace membre
et je rencontre un problème, les messages d'erreurs ne veulent pas s'afficher

etant débutant je voudrais votre aide afin de résoudre se problème.

voici mon code http://pastebin.com/2c3BbcgD

et voici un screen du résultat en screen

http://prntscr.com/7fzfwi

EDIT :

je rencontre encore une autreerreur quand j'enregitre un nouveau membre :
c'est un problème avec mail() non ?
pourriez vous m'expliquez si c'est cela svp ?
"
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'confirmation_token = 'fdHzl6hoI6U89grwimbfobVSpYFeoh4aWuCHv520qE4C5iYVjO69HiPBki' at line 1' in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\em\register.php:41 Stack trace: #0 C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\em\register.php(41): PDOStatement->execute(Array) #1 {main} thrown in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\em\register.php on line 41
"

EDIT 2 : que des erreurs pas de chance )':

" Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'confirmation_token' in 'field list'' in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\em\confirm.php:7 Stack trace: #0 C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\em\confirm.php(7): PDOStatement->execute(Array) #1 {main} thrown in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\em\confirm.php on line 7 "

avec confirm.php
Merci pour votre aide et très bon site pour apprendre la programmation

6 réponses


Genki
Réponse acceptée

Pour ton problème d'erreurs :

<?php foreach($errors as $error): ?>
    <li> <? =$error; ?></li>
<?php endforeach; ?>

C'est :

<li><?= $error; ?></li>

PHP Short tag <?= revient à dire <?php echo

Et pour le deuxième problème, tu dois pas avoir de colonne "confirmation_token" dans ta table. Donc il arrive pas à poursuivre l'enregistrement puisque tu essayes de lui faire enregistré quelque chose dans une colonne inexistante.

tleb
Réponse acceptée

Le problème semble denir de la requête SQL ($req->prepare()), pourrais tu nous la montrer aussi ?

Ca resemble à une erreur de CSS. As tu bien la css chargée ? et si oui as-tu bien défini la classe .error ? Apparament ca marche puisque l'on voit bien les pucess de la liste. Essaie de selectionner le texte des puces, et si tu as bien le texte qui apparait c'est que c'est un problème css.

Les autres soucis proviennent du fait que comme indiqué dans le message d'erreur, dans ta table le champ confirmation_token n'existe pas

je rencontre encore une autreerreur quand j'enregitre un nouveau membre :
c'est un problème avec mail() non ?
pourriez vous m'expliquez si c'est cela svp ?

Non, c'est une erreur avec la syntaxe de ta requête SQL et probablement une typo du nom de la colonne.

Sans le code lié à l'erreur, c'est difficile de t'aider.

John Doe
Auteur

Bonjour,

Merci de m'avoir répondu aussi vite, j'ai régler le problème d'affichage des messages d'erreurs mais pas celui de confirmation_token

voici le code ciblé par cette erreur


                $req->execute([$_POST['username'], $password, $_POST['email'], $token]);

j'ai trouver l'erreur : http://prntscr.com/7g4luk

faut avoir des yeux derrière la tête avec ces virgules et point virgules xD

pouvez-vous s'il vous plaît ne pas fermer le topic au cas ou si je rencontre d'autres problèmes , merci
John Doe
Auteur

@Forever j'avais mis $red c'est pour ça ^^ merci