Problème de session

Problème de session - PHP - Programmation

Marsh Posté le 29-04-2008 à 09:44:52    

Bonjour à tous,
 
Mes derniers post n'ayant pas trouver preneur pour une solution, jespère que celui-ci le sera, (c'est quand même pour le bac...).
Mon problème, c'est que je souhaite inclure un menu sur toute mes pages de mon site, avec un include("menu" ). Dans cette page menu, on y trouve un petit tableau situé au dessus de la page, avec le titre du site, les liens, et SURTOUT, un zone d'identification pour les membres inscrits.
Le concept classique, les utilisateurs non inscrits ou non loggés ne peuvent avoir accès à certaines pages du site.
L'idée est donc que lorsqu'il s'enregistre, il peut le faire en restant sur la page actuelle (pas un lien vers une page avec un formulaire de saisie quoi), et son identification ne le redirige pas vers une page genre l'accueil, il reste sur la même page, mais affichant le contenu caché cette fois ci. Ca j'ai trouvé comment on faisait, mais c'est après que ça se corse pour moi...
En effet, une fois identifié, lorsque je clique un lien pour allez sur une autre page, le formulaire de saisie réapparait dans mon menu, et je crois qu'il n'est plus identifié.
 
 
Comment faire CONCRETEMENT avec des sessions pour que l'utilisateur identifié, n'aie pas à se reidentifier à chaque page.
 
Merci d'avance


Message édité par Elmoricq le 29-04-2008 à 10:04:10

---------------
Imagination is more important than knowledge. For knowledge is limited, whereas imagination embraces the entire world, stimulating progress, giving birth to evolution. (Albert Einstein)
Reply

Marsh Posté le 29-04-2008 à 09:44:52   

Reply

Marsh Posté le 29-04-2008 à 09:48:25    

Ben tu définis une variable de session quand il se log, tu la tues quand il se délog et tu vérifies son existence quand tu veux savoir s'il est loggé. [:spamafote]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 29-04-2008 à 10:02:13    

Que ce soit pour le bac ou pas on s'en branle. Ton problème n'est pas plus important que ceux des autres.
Et si tu n'arrives pas à faire quelque chose, dis exactement ce qui te pose problème au niveau technique, au lieu d'expliquer vaguement ce que tu voudrais faire.


Message édité par skeye le 29-04-2008 à 10:02:41

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 29-04-2008 à 10:04:19    

Titre édité.

Reply

Marsh Posté le 29-04-2008 à 12:06:18    

Pareil je n'ai pas vraiment compris. Peut-être qu'en passant par un cms le problème serait résolu :D

Reply

Marsh Posté le 29-04-2008 à 13:31:23    

quand l'utilisateur s'identifie, j'imagine que tu dois récupérer son login par exemple.
 
Tu peux très simplement faire comme ceci.
 
Dans ta page de vérification qui réceptionne les données du formulaire :

Code :
  1.  
  2. $toto = $_POST['login'];
  3.  
  4. // ...Faire des traitements sur toto...
  5.  
  6. $SESSION['login'] = $toto;
  7.  
  8. // Rediriger avec header() vers ta page principale


 
Et dans la page principale :

Code :
  1.  
  2. if (isset($_SESSION['login'])) {
  3.  // L'utilisateur est identifié, ne pas afficher le formulaire d'identification
  4. }
  5. else {
  6.  // L'utilisateur est anonyme, afficher le formulaire d'identification
  7. }


 
PS : ceci n'est qu'une implémentation simpliste du concept évoqué par sielfried.


Message édité par CyberDenix le 29-04-2008 à 21:21:12

---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 29-04-2008 à 13:42:36    

En théorie les sessions restent valides au changement de page, a partir du moment que chaque page contient session_start(); maintenant vérifie qu'elles utilisent les cookies ou que le session_id est transmis par l'url.
 
En revanche fait attention a l'ajax si c'est ca que tu utilises pour rester sur la page actuel, je crois que ca marche pas trop bien. Généralement on utilise simplement une redirection vers la page ou le membre se trouvait.

Reply

Marsh Posté le 01-05-2008 à 11:23:56    

Merci à ceux qui m'ont répondu, c'est sympa. ;)
En revanche, jamais vu un manque de tact pareil skeye...
Et désolé, il me semblait m'être exprimé le plus clairement possible.
Après, si les débutants ne sachant pas définir précisément tous les termes techniques afin d'être compris par une poignade d'EXPERT comme toi ne sont pas les bienvenus sur un forum d'entre-aide, je vois pas l'utilité d'un tel forum mais bon..
 
Tchaop !

Reply

Marsh Posté le 01-05-2008 à 11:59:40    

Je suis pas là pour faire preuve de tact, mais pour aider les gens à résoudre un problème technique, justement.
Si les personnes en question ne prennent pas la peine d'expliquer leur problème, je ne me fatigue pas non plus pour leur dire qu'on manque d'infos.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-05-2008 à 12:23:48    

Si je ne m'étais réellement pas bien exprimé comme tu le dis, on ne n'aurait pas répondu très précisément à ce même message (copié-collé) en moins d'un quart d'heure sur un autre forum d'entre-aide.
Sur ce, bon vent à tous !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed