Connexion membre php

ifox69 -  
 ifox69 -
Bonjour,

je suis en train de créer un espace membre pour mon site. L'inscription se fait grâce à un formulaire qui après vérification des données enregistres toutes les info du membres sur ma base de donnée.

Une fois le membre enregistré il peut se connecter sur la page d'accueil dans un petit cadre. Il entre alors sont pseudo et mot de passe, si la connexion marche bien les champs du cadre s'effacent et à la place j'ai mis un texte appelant le nom et prénom du membre et un petit texte de bienvenue. Grâce à quelques conditions if et à des sessions j'y suis arrivé, mon problème est que le cadre de connexion se trouve dans mon entête et j'ai include cette dernière dans toute mes pages web.

Mon problème est que si je vais sur une autre page de mon site les champs de connexions réapparaissent comme si l'utilisateur ne s'était pas connecté. J'ai pourtant utilisé un "if (isset($_SESSION['pseudo']))" donc logiquement tant que la session n'est pas détruite par mon bouton "deconnexion" mon cadre de bienvenue devrait rester sur chacune des pages puisque mon entête est inclus dans toutes mes pages grâce a "include". Voila si quelqu'un à une idée voir même une solution miracle ^^ je suis preneur .J'éspère avoir été clair désolé pour le pavé ^^

Merci d'avance.

13 réponses

biboo
 
As-tu bien mis un session_start(); dans chaque page?
1
ifox69
 
oui sur chaque page tout en haut. Et le session_destroy(); sur le lien "deconnexion". Le voila

<a href="index.php" id="deco">Déconnexion<?php $_SESSION=array(); session_destroy(); ?></a>
1
Giglagla Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   8
 
Ta session est détruite même si la personne ne clique pas sur ton lien :
<a href="index.php" id="deco">Déconnexion<?php $_SESSION=array(); session_destroy(); ?></a>

Pour créer un système de déconnexion tu peux faire la chose suivante :
<a href="index.php?logout" id="deco">Déconnexion</a>
<?php if(isset($_GET['logout'])) {$_SESSION=array(); session_destroy(); } ?>
1
Giglagla Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   8
 
Et si tu essaie de mettre cette ligne de code php avant tout ton autre code ? (pas avant le session_start(); par contre ^^)

Pour faire une redirection tu peut regarder ce sujet :
http://www.commentcamarche.net/faq/sujet 4640 webmaster faire une redirection
1

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

Posez votre question
Giglagla Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   8
 
Salut,
est tu bien sûr d'avoir créé ta session $_SESSION['pseudo'] ?
Car un formulaire ne créer pas de session tout seul (seulement des $_POST sont générés)
0
ifox69
 
Oui mes sessions marchent bien je les ais testé avec des echo à chaque fois qu'une se créée. Résultat quand je rentre le pseudo et le mot de passe toutes mes sessions sont actives mais quand je change de page ou que je rafraichis l'interface disparait. Je pense que les sessions sont conservées mais à mon avis mon problème vient de la condition "if (isset($_SESSION['pseudo']))" je pense que sa ne suffit pas pour garder une interface même si la page est rafraichie.
0
ifox69
 
Up svp personne n'a d'idée ?
0
biboo
 
Vu ton code, tu détruis ta session à chaque fois que tu affiches ton lien.
Tu devrais mettre ton code de déconnexion dans une page dédiée (logout.php), et faire pointer ton lien de déconnexion vers celle-ci.
0
Giglagla Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   8
 
Oui tu peut aussi faire ce que biboo vient de dire, c'est peut être un peu plus propre ^^
0
biboo
 
;)
0
ifox69
 
magnifique sa marche merci beaucoup. J'ai pris le code de Giglagla car je veux que tout se passe sur la page d'accueil. Est-il possible par hasard de rafraichir automatiquement la page une fois qu'on clique sur le lien ? Car il faut que je m'y prenne à 2 fois avant que ma page d'accueil ne revienne.
0
Giglagla Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   8
 
Inverse juste les 2 lignes ^^ (met le php juste au dessus de ton lien)

Edit: et pense à mettre ton sujet en "Résolu"
0
ifox69
 
Nan sa marche pas :s Ma session est bien détruite une fois que je clique sur deconnexion mais je dois recliquer dessus ou rafraichir la page pour que ma page d'accueil revienne à la normal. Il faudrait je pense rafraichir la page automatiquement y a-t-il un code qui existe pour ca ?
0
ifox69
 
Excelent merci beaucoup je coche ^^
0