Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
j'ai un bug du style "c'est un bug du compilateur !"... (C'est ce que je disais qd j'étais étudiant).
Non, en fait, il y a un truc qui m'échappe:
Je voudrais utiliser les cookies pour que lorsque l'utilisateur coche la case "Se souvenir de moi", le site le reconnaisse et le logge direct
sans avoir à taper son pseudo et son mot de passe. Et lorsque la case est décochée, ça efface le cookie.
C'est donc un cookie qui s'appelle "pseudo" et qui a pour valeur le pseudo.
dans index.php, j'ai:
Et, plus loin, le formulaire d'authentification et la case à cocher gérée en JavaScript:
Donc, normalement, dans login.php, la variable de session $_SESSION['souvenir'] contient false si la case n'a pas été cochée et true sinon.
D'autant plus que les alert("<?php echo $_SESSION['souvenir']; ?>"); que j'ai mis dans la fonction se_souvenir() affiche bien 1 lorsque la case
est cochée.
Là où ça ne marche pas, c'est dans login.php appelé par le formulaire d'authentification:
Le bug, c'est que ça m'affiche toujours "On ne s'en souviens pas"... $_SESSION['souvenir'] contient donc toujours false.
Que je ne coche pas, que je coche, que je coche puis décoche, enfin, tous le temps, ça m'affiche "On ne s'en souviens pas".
Alors, j'ai essayé de mettre une chaine de caractères dans $_SESSION['souvenir'] puis de l'afficher, ça m'affiche toujours "false" ou "faux" ou
ce que je met dans cette variable de session dans le cas où la case n'est pas cochée dans ma fonction se_souvenir()...
Alors que si je met un alert dans le cas ou elle est cochée, ça m'affiche bien l'alert.
Je ne comprend pas pourquoi ça ne marche pas.
Merci pour votre aide !
Ralph303
Dernière modification par Ralph303 (27-12-2009 00:12:03)
Hors ligne
Tout simplement que le javascript est côté client et le PHP côté serveur.
La dernière valeur que tu enregistres dans $_SESSION['souvenir'] est false.
Le javascript n'exécute pas de PHP (sauf si on parle d'ajax mais ce n'est pas ton cas) donc il remplace tes codes.
devient donc :
Bref tu utilises mal le javascript (ou le php c'est toi qui vois).
Hors ligne
Oui, effectivement, j'ai mis la checkbox dans mon formulaire d'authentification et je teste $_POST['souvenir'] dans login.php tout simplement.
Comme j'ai fais pas mal de JavaScript avec Ajax dans un autre formulaire, j'ai tendance à vouloir tout faire en JavaScript et à compliquer les
choses en fin de compte...
Merci encore, xTG !
Ralph303
Hors ligne
Pages :: 1