Problème avec les sessions
Bonjour,
J'ai bossé sur un site en local avec easyphp et maintenant je suis en train de le mettre en ligne sur un hebergement.
Tous semble fonctionner correctement SAUF les sessions ! la page de connexion pas de probleme (j'ai eu un message warning header truc, j'ai déplacé tous ce qui s'affiche en bas de script et c ok).
Mais le problème est dans mon espace membre car quand on y accede pas de pb, mais si on actualise la page on reste sur cette page (donc la session semble toujour ok) mais sans les infos de la session et donc pas le login user (et sans ce login pas moyen d'afficher mes tableau de provenance Mysql).
Kk'un connait la soluce ?
pour info l'intro de mon espace membre est :
<?php
session_start();
if (!isset($_SESSION['id'])) {
header ('Location: index.php');
exit();
}
$login=$_SESSION['id'];
?>
Merci,
Michel
le 08/03/2005 à 11:09
i M@N
Hello !
Essaye ça :
$_SESSION['id'] = $login;
@+...
One Love, One Heart, One Unity.
Salut,
Cela ne fonctionne pas, car la j'indique une nouvelle valeur à $_session['id'] (c'est à dir "").
C'est ma variable $login qui doit être definie par session.
Le truc bizare c'est que quand on accede à l'espace membre la valeur de $login est bien definie mais des qu'on fait une action dans l'espace ou qu'on actualise la page POUF plus rien, mais on reste tout de même sur la page (sans les infos membre)
le 08/03/2005 à 12:01
i M@N
Reuh ...
Je te fais un exemple :
<?php
session_start();
if (isset($_POST['variable'])) $variable = $_POST['variable']; else $variable = "";
$_SESSION['variable'] = $variable;
/* vérification : affiche le contenu de ta variable dans le cookie de session*/
echo $_SESSION['variable'];
?>
@+...
One Love, One Heart, One Unity.
Je penses que je me sui mal expliqué.
Quand je transmet depuis ma page login.php :
<?php
session_start();
$_SESSION['id'] = $_POST['id']
header('Location: membre.php');
exit();
?>
J'arrive sans pb sur membre.php ou je lis :
<?php
session_start();
if (!isset($_SESSION['id'])) {
header ('Location: index.php');
exit();}
$login=$_SESSION['id'];
?>
A cette instant aucun problème ma variable $login est bien renseigné.
Part contre dés que l'on clic sur un lien (ex: membre.php?action=$act ) ou que l'on utilise le bouton actualiser du navigateur, la variable login est vide alors que la session est toujours ok puisque l'on est pas redirigé vers index.php.
Je m'arrache les cheveux sur ce truc :(
Pkoi chez moi cela fonctionne sans pb (easyphp) et pas sur mon hebergement ?! mystére...
AU SECOUR...A L'AIDE !!!
essai un petit print_r($_SESSION) pour afficher le visu eu tableau session , voir si tes vars de sessions sont bien renseignées.
zebdinou pour les intimes / Blog : http://www.zebden.fr
Merci pour le tuyo en effet
Quand je ma logue j'ai ca :
Array ( [id] => admin ) admin
Et dès que l'on actualise on à ca :
Array ( [id] => )
Je viens de faire le teste sur un autre hebergment et ca fonctionne sans pb.
Mais ca m'arrange pas car j'ai payé pour un an mon hebergement sur godaddy et j'aimerai que cela fonctionne dessus.
Je viens d'envoyer un mail à leurs support pour voir ce qu'il en pense.
Je crois que si il peuvent rien faire je vais demander le remboursement et faire un domain forwarding sur mon autre hebergeur.
Je viens de faire un phpinfo() sur les 2 hebergeurs.
Le truc que je capte pas c'est que pour la partie session, ils ont exactement les même param. donc cela devrait fonctionner !
le 08/03/2005 à 14:06
i M@N
Reuh ...
T'es sûr que t'as des
sur toutes tes pages où tu te sers des sessions ?
@+...
One Love, One Heart, One Unity.
Evidemment !
Sinon cela ne fonctionnerait pas chez moi ni sur le 2nd hebergeur ni sur le 3em que je viens de tester.
Pour moi le pb viens de l'hebergeur, j'attend la réponse de leurs part.