Bonjour,

Je suis confronté à un problème d'enregistrement de session avec Wamp.
Problème que je ne rencontre pas avec easyPHP en testant le même script, que voici:

Fichier sessiontest.php (fichier de création de la session):

<?php
session_start();
$_SESSION'test'] = "oui";
if(isset($_SESSION"test"]))
{
echo $_SESSION"test"]."<br>";
echo "<a href='session.php'>test</a>";
}
?>

Ficher session.php (vérification de l'existence de la session):

<?php
session_start();
if (isset($_SESSION"test"]) && ($_SESSION"test"] == "oui"))
{
    session_destroy();
    header('Location:sessiontest.php');
}
else
{
echo $_SESSION"test"]."non";
}
?>

Avec easyPHP la redirection fonctionne lors de la reconnaissance de l'existence de la session, alors qu'avec Wamp la session n'est pas reconnue comme existante.

Avez-vous une idée du problème rencontré?

Merci d'avance,

Gilbert

7 réponses


PhiSyX
Réponse acceptée

Salut, tu dois *sûrement* utiliser Mozilla FF ou IE comme navigateur.
En fait tu n'as pas de soucis avec tes sessions mais c'est juste avec les navigateurs Mozilla FF & IE qu'il y a un problème. (Si on peut appeler ça un pb)
En effet, lorsque tu appelles la page sessiontest.php, il va détruire la session mais ne va pas rediriger car pour Mozilla FF & IE c'est une redirection qui n'aboutira pas !
-> Au lieux de rediriger, il affiche non car la session a été détruite ^^

Regarde essaye, enlèves le session_destroy();
"Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas."

Il te faudra trouver une autre méthode :)

Gilmich
Auteur

Il y a une erreur de frappe dans le second fichier, voici le fichier correct:

<?php
session_start();
if (isset($_SESSION"test"]) && $_SESSION"test"] == "oui"))
{
    session_destroy();
    header('Location:sessiontest.php');
}
else
{
echo $_SESSION"test"]."non";
}
?>
Gilmich
Auteur

Toujours une erreur, décidément, voici le bon:

<?php
session_start();
if (isset($_SESSION"test"]) && $_SESSION"test"] == "oui")
{
    session_destroy();
    header('Location:sessiontest.php');
}
else
{
echo $_SESSION"test"]."non";
}
?>

Salut, as-tu une erreur lorsque tu cliques sur ton lien ? (<a href="session.php">test</a>)
Je n'ai pas eu problème, il y a bien une redirection chez moi ^^

Le $_SESSION"test"] à else ne sert à rien puisque tu vérifies, dans la première condif, s'il y a une session "test" définie :)

Gilmich
Auteur

Bonjour PhiSyX,

...non, il n'y a pas d'erreur lorsque je clique sur le lien en question.
Par contre je suis obligé de déclarer mes variables de la façon existante car Wamp me met des indéfined sans arret...
Je suppose que le problème des sessions vient de la configuration de php.ini, aussi si tu peux me montrer un exemple de la configuration de ton php.ini ça pourrait m'être utile, à mon avis.

Merci,
Gilbert

Gilmich
Auteur

Bonjour,

Effectivement c'est un problème de navigateur, vu qu'avec opera tout va bien.

Merci beaucoup,
Gilbert

Gilmich
Auteur

Bonjour,

Merci pour ta réponse, j'ai résolu le problème en utilisant opera.

Cordialement,
Gilbert