Problème de session
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je finalise un site privé ou je souhaite mettre en place un login et password.
Ca coince au niveau des sessions. Je m'explique :
Le formulaire de connexion envoi ces données si la connexion est ok :
Ensuite dans chaque page de mon site, j'ai ce code en premier lieu :
Le formulaire me redirige bien vers 'index.php', cependant lorsque je navigue vers une autre page, il m'est systématiquement demandé de me logguer...
Che passa ?
Merci pour vos conseils :-)
Je finalise un site privé ou je souhaite mettre en place un login et password.
Ca coince au niveau des sessions. Je m'explique :
Le formulaire de connexion envoi ces données si la connexion est ok :
if ($pseudoTrouve==$pseudo AND $passwordTrouve==$password) { session_start(); $_SESSION['pseudo'] = $resultat['pseudo']; echo '<meta http-equiv="refresh" content="0;URL=index.php">'; } else { echo 'Vos identifiants sont incorrects'; }
Ensuite dans chaque page de mon site, j'ai ce code en premier lieu :
<?php session_start(); if(!isset($_SESSION['pseudo'])) { echo '<meta http-equiv="refresh" content="0;URL=login.php">'; exit(); } ?>
Le formulaire me redirige bien vers 'index.php', cependant lorsque je navigue vers une autre page, il m'est systématiquement demandé de me logguer...
Che passa ?
Merci pour vos conseils :-)
A voir également:
- Problème de session
- Teamviewer code de session expiré ✓ - Forum logiciel systeme
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- TeamViewer, quel risque de donner son le code - Forum Logiciels
- Session invalide ou obsolète ✓ - Forum finances
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
4 réponses
'jour, Che passa ? Che passa que tu fais la redirection vers la page de login à chaque fois que
Mais surtout tu mets
$_SESSION['pseudo']est pas défini (donc que t'es pas loggé), vu que tu as mis ce code en début de chaque page...
Mais surtout tu mets
session_start();autre part qu'au début de ton code (sur login.php), normalement on le met au tout début de la page avant que le moindre octet soit envoyé (attention au BOM de l'UTF-8), sinon ça ne marche pas.
Salut,
Merci de ta réponse
Dans mon premier exemple
En revanche pour
Quel est le paramètre à modifier ou ajouter pour qu'il sache que je suis logué et que ma session est valide tant que je ne ferme pas la page ?
Merci de ta réponse
Dans mon premier exemple
session_start();n'est pas au début car je suis encore dans le formulaire de connexion mais sinon dans mes autres pages, il est bien entendu en tout premier (comme dans mon second code ci dessus).
En revanche pour
$_SESSION['pseudo']je ne comprend pas car les variables de sessions se transmettent de pages en pages non ?
Quel est le paramètre à modifier ou ajouter pour qu'il sache que je suis logué et que ma session est valide tant que je ne ferme pas la page ?
Normalement oui les sessions sont gardées entre les pages, c'est même leur but... Étant donné que les sessions sont stockées sur le serveur et que le client recoit un cookie qui ne contient que l'ID de la session, peut-être que ton hébergeur a désactivé les sessions, bien que peu probable; surtout si tu testes en local.
Si c'est quand même le cas il se peut que le cookie soit désactivé (dans php.ini) et donc qu'il soit nécessaire de passer l'ID de session autrement.
session_start()renvoie-t-elle TRUE?
Si c'est quand même le cas il se peut que le cookie soit désactivé (dans php.ini) et donc qu'il soit nécessaire de passer l'ID de session autrement.
Bonsoir,
Le démarrage de la session doit être faite au tout début de la page même dans ton script de connexion.
Je te suggère de mettre le session_start() en dehors de ton if.Consulte ce lien tu trouvera de plus ample infos:http://www.php-astux.info/sessions-php.php
Le démarrage de la session doit être faite au tout début de la page même dans ton script de connexion.
Je te suggère de mettre le session_start() en dehors de ton if.Consulte ce lien tu trouvera de plus ample infos:http://www.php-astux.info/sessions-php.php
Salut,
Merci de ta réponse.
J'ai déjà effectué les deux possibilités en incluant mon
Concernant ton lien, j'ai le même code
Lorsque je laisse juste le
Merci de ta réponse.
J'ai déjà effectué les deux possibilités en incluant mon
session_start();dans et en dehors de ma condition.
Concernant ton lien, j'ai le même code
<?php session_start(); if (!isset($_SESSION['pseudo'])) { echo '<meta http-equiv="refresh" content="0;URL=login.php">'; exit(); } ?> Suite de la page
Lorsque je laisse juste le
session_start();, il vaut bien 1 même si je recharge la page tandis que je perds les infos stockées dans les variables de session...
Je pense avoir trouvé.
J'avais dans mes pages
Je pensais que ça marcherait uniquement quand je cliquerais dessus mais visiblement non...
J'ai modifié par
Ca marche maintenant du coup.
Merci gravgun et stgcici pour vos réponses. :-)
J'avais dans mes pages
<a href="session_destroy();">X</a>
Je pensais que ça marcherait uniquement quand je cliquerais dessus mais visiblement non...
J'ai modifié par
<a href="deco.php">X</a>et inclus mon
session_destroy();à l'intérieur.
Ca marche maintenant du coup.
Merci gravgun et stgcici pour vos réponses. :-)