Je n'ai pas vu la vidéo mais je remarque que tu passes 4 arguments à la méthode confirm alors qu'elle n'en accepte que 3 !!!
Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
J'ai suivi le tuto de Grafikar sur la refactorisation de l'espace membre.
Page confirm.ph
Page Auth.php
Page str.php
Page App.php
Ma BDD
<a href="http://www.casimages.com/i/180324020534772597.jpg.html" title="BDD">Lien vers mon image</a>
Ce que je veux
Reussir à valider l'inscription.
Merci de votre aide!!
Ce que j'obtiens
Impossible de valider l'inscription, je n'ai pas d'erreur php ou de la BDD proprement dit, j'ai juste le message " ce token n'est plus valide"
du coup je sais pas si j'ai d'autre erreur pour l'instant!!
Apres verification les 2 token sont identique.
Le lien que je recois dans le mail
/sitejsp1/membres/confirm.php?id=&token=hn82esL4YxfbBJ8oZnajUypbO348s6kZ13P9auDO08ShFCzOyJWqbyHkLdr4
Le token en BDD: hn82esL4YxfbBJ8oZnajUypbO348s6kZ13P9auDO08ShFCzOyJWqbyHkLdr4
13 réponses
Bonsoir,
Merci Huggy pour ta reponse mais comment ca 4 arguments?
Sa fait 3-4 jours que je galere, je pense que je me melange les pinceaux!! LOL
J'ai modifier la fonction confirm :
par
Maintenant il me valide le token et me connect youpi!!! sauf que normalement dans ma BDD le confirmation_token devrai passer a NUL et le confirmed_at devrait afficher la date de validation helas les deux reste à NUL resultat des que je me deconnecte, je ne peux plus me connecter. Une idée? merci de votre aide!!
Euh non !!! tu peux pas comparer un token avec un user_id, garde ta requête comme elle était.
Pour les 4 arguments, dans la page confirm.php tu as ça
tu passes bien la session en 4em argument (voir la video vers 58')
mais c'est inutile car dans la methode confirm la session fait partie de la classe ($this->session)
il faut revoir la video ou bien faire un choix
Euh mais quand je garde le requete d'origine j ai droit a " ce token n'est plus valide"
Dans la video c'est comme ca de memoire?! ou j enleve Session::getInstance ???
Regarde du coté des dates...
Tu fais un select avec une date > Now()...
Si ce n'est plus valable c'est que la durée d'expiration est dépassée...
mais je n' ai pas de delai d 'expiration!! enfin je crois pas!!
Bonsoir,
Personne a une idée? svp help me
J' ai toujours mon probleme impossible de valider le token par mail
Ou j'arrive a le valider mais aucune modification en BDD
merci de votre aide!!
Est ce que tu as essayé tes requetes en direct, juste pour voir si c'est ton code PHP ou tes requetes ?
Tu n'as pas d'erreurs d'execution des requetes ?
Après chaque update, que disent les valeurs de ta base de donnée ? si c'est vide...
Soit ta requete n'est pas bonne.. soit... as tu un auto commit dans ta base ou faut il faire un commit ?
Bonsoir,
mes requetes en direct? je n'ai aucune erreur c'est bien la le souci lol et quand je clique sur le lien de validation la BDD ne se s'update pas !!
Un commit ? je suis debutant en php et BDD.
Merci de ton aide
Moi quand mes requetes ne font pas ce que j'attend, j'essaye de passer par .. phpmyadmin par exemple, juste pour voir si... L'ID est bien trouvé, si les parametres sont bien entrés.. pas de souci de ' ou de " ou de date ou de probleme de typage (String / Integer / Date...
Ce que tu peux faire c'est un debug/vardump de ta requete apres l'avoir construite pour voir ce qui va être envoyé à la base de données.
page config.php
je n ai pas le message success apres avoir valider l inscription
page account.php
en placant un var_dump('confirm'); die; avant la restriction j ai string(7) "confirm" la je ne vois pas mais ma BDD n ai pas modifier en cliquant sur le lien du mail !!
mail:
confirm.php?id=&token=G43OGZLXmri8TplrAaee9bhYIyReKfZZBsmMmpUVXn0kqMejxDJwif0vfAJG
token en bdd:
G43OGZLXmri8TplrAaee9bhYIyReKfZZBsmMmpUVXn0kqMejxDJwif0vfAJG
a priori le token est identique
En cliquant sur le lien j arrive sur ma page account sans message de success mais j ai le message "acces interdit"
ci dessous la fonction register et confirm
merci pour l aide car si on reussi pas a regler ce probleme ca va etre compliqué pour le reste de la construction du site lol
Bonjour.
Si tu lis bien ton code, tu remarqueras que tu as plusieurs erreurs, ou tout du moins, une erreur qui en cause plusieurs.
Dans ta méthode register, tu définis une variable users_id, mais dans ton mail, tu utilises une variable user_id, soit une variable qui n'est pas définie et ensuite tu te base sur la valeur du paramêtre id qui est par conséquence vide, tu ne peux donc pas avoir de retour de données de ta BDD.
En plus de ça, dans le dernier code que tu nous montres concernant ta méthode confirm, tu fais un SELECT avec en condition le token, alors que tu passes en paramêtre l'ID de l'utilisateur, ce qui n'est absolument pas logique.
Autre chose aussi, SERVER_NAME n'est pas une variable, mais une clé de la variable $_SERVER, il te faut donc remplacer $_SERVER['.$_SERVER_NAME'] par $_SERVER['SERVER_NAME'].
Pour finir, ta condition dans ta page account.php est totalement fausse, c'est à se demander si tu comprends vraiment ce que tu codes, où si tu ne fais que recopier du code que tu trouves.
Si c'est le second cas, je te conseille fortement de réétudier le PHP depuis ses bases.
Merci pour ta reponse lartak, je t avoue qu'a force de lire, regarder xxx video sur le php je me suis perdu et embrouillé tous seul le premier code fonctionnais et je suis tombé sur la refactorisation mais tu as raison je vais me reconcentrer sur du php de base histoire de comprendre correctement.