begin process at 2012 05 31 05:02:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Pb de cookie et sessions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb de cookie et sessions

samedi 26 avril 2008 à 10:54:03 | Pb de cookie et sessions

zemele

Bonjour,

Comme je ne vois pas du tout où se situe mon erreur je vous met la totale...

J'essaie de faire en sorte que lorsqu'une personne s'est déjà identifié une première fois, lors de son prochain retour elle bascule automatiquement sur une nouvelle page.

Pour ça, lors de l'ouveture de session, je créée un cookie 'login' contenant sont login :

if($_POST['saveSession'] == 'oui'){

    setcookie('login', $_SESSION['login'], mktime(0,0,0,12,31,2035));
                          
}

La ça va, le cookie est correctement créée.

Dans la page d'accueil du site j'ajoute ceci :

session_start();

if(!isset($_SESSION['login'])){


    if(isset($_COOKIE['login'])){
           
         $user = $Con->select('Obj','*','user','login = "'.$login.'"');
         
          session_regenerate_id();
          $_SESSION['login'] = $login;
          $_SESSION['id'] = $user->id_user;
       
          header('Location: index.php?page=accueilAdmin');
       
          exit();
    }

    session_destroy();
    unset($_SESSION);

}else{

    header('Location: index.php?page=accueilAdmin');
   
}

Grosso modo je verifie si il y a une session d'ouverte, si oui je redige de suite, si non je vérifie qu'un cookie existe et là ça ne marche pas. Il ne voit pas "isset($_COOKIE['login']", pourtant en vérifiant dans le navi le cookie est bien là.

Avez vous une idée sur mon erreur ?


samedi 26 avril 2008 à 11:07:03 | Re : Pb de cookie et sessions

malalam

Administrateur CodeS-SourceS
Hello,

j'ai testé ton code basiquement (son comportement en tous cas) :
<?php
session_start();
if(isset($_SESSION['test'])) {
    setcookie('test', 'bla', strtotime('+ 1 day'));
} else {
    if(isset($_COOKIE['test'])) {
        echo 'yo';
    } else {
        $_SESSION['test'] = 'bla';
    }
}
if(isset($_COOKIE['test'])) {
    echo 'yo';
}
?>
et ça marche très bien. Au raffraichissement de la page, mon "yo" est bien affiché.
Je ne voyais de toute anière rien dans ton code qui puisse poser problème. Mon idée est donc que ton code plante à un moment...avant la redirection. Donc là-dedans :
         $user = $Con->select('Obj','*','user','login = "'.$login.'"');
         
          session_regenerate_id();
          $_SESSION['login'] = $login;
          $_SESSION['id'] = $user->id_user;
       
Je mettrais des points d'arrêt, à ta place, pour logger dans un fichier ce qu'il se passe.
samedi 26 avril 2008 à 11:08:37 | Re : Pb de cookie et sessions

malalam

Administrateur CodeS-SourceS
Mon code est un peu différent du tien vu que je ne voulais pas faire ça sur 2 scripts hein...mais globalement, le comportement devrait être le même, à moins qu'il y ait un truc que je ne vosi pas dans ton code (encore possible, je ne me suis pas réveillé il y a très longtemps ;-) ).
samedi 26 avril 2008 à 11:17:05 | Re : Pb de cookie et sessions

zemele

Héhé moi non plus, et une soirée difficile en plus...

Dans les cas, merci pour ta réponse, mais je test avant la ligne de connexion et j'ai aussi testé sans elle. Mais rien y fait.

Juste je créée le cookie dans un sous dossier :
/modules/session/session.php

Et je vérifie à la racine au mileu du code
index.php

Et enfin je test en local.

Pourrait il y avoir quelque chose en rapport ?
samedi 26 avril 2008 à 11:51:46 | Re : Pb de cookie et sessions

malalam

Administrateur CodeS-SourceS
J'en doute.
Fais ce que je t'ai dit, je pense que ton script planté à un moment.
samedi 26 avril 2008 à 14:45:45 | Re : Pb de cookie et sessions

zemele

A yé j'ai trouvé, je savais qu'il y avait une histoire de porté du cookie.

Mon erreur vient de lors de la création du cookie :
setcookie('login', $_SESSION['login'], mktime(0,0,0,12,31,2035));

Comme mon script est dans un sous-dossier, le cookie ne porte que sur cette portion de dossier. Il faut donc ajouter "/" pour lui donnée une portée sur tout le site :
setcookie('login', $_SESSION['login'], mktime(0,0,0,12,31,2035), '/');

Et là, ça fonctionne très bien.




Cette discussion est classée dans : page, login, user, session, cookie


Répondre à ce message

Sujets en rapport avec ce message

Combiner Cookie et Session [ par apz ] salut,en fait je voudrais ajouter une zone membres dans mon site.je voulais combiner cookie et session : le cookie sert au login automatique de l'util ma session ne fonctionne pas a la première connexion [ par jojolafrite ] bonjour g un petit problème de session pour la création d'une section membrepour cela g trois fichier:logadmin.php(page de login)veriflog.php(script q Problème de session ? [ par phpwankenobi ] Salut à tous...Voici un code que j'utilise pour garantir la confidentialité de la partie d'un site :session_start();if (!session_is_registered('login' problème incompréhensible [ par iomega ] Bonjour à tous j'ai toujours le même problème lorsque je passe de page en page j'ai l'impression que je perd la session et donc je suis redirigé sur l variables de session [ par tweeder ] BonjourJ'ai posé la question plus tôt cette semaine mais je crois que je m'étais mal exprimévoila j'aimerais récupérer ma variable de session enregist sessions [ par fofolle ] J'arrive a avoir mes variables que sur une pagealors que je les commence toutes parsession_start();et je fais gaffe a mes include no sucidecependant l sessions [ par gegelarep ] bonjour,je suis dans une page ouverte par une session qui porte une url du type http://www.site.com/fr/majprod?produit=591et j'aimerai dire au program session en php helppp please [ par emeraudes ] bonjourvoila je suis en 2eme année de bts informatique de gestion et je code un site en php.sur mon site il y a a gauche une frame pour pouvoir se log encore un pb de session !! [ par c_hippo ] Bonjour,Je me fais un site perso dans lequel les utilisateurs devront s'identifier.J'utilise donc les sessions. J'ai un premier fichier (login.php) qu Probleme de script d'identification (help !) [ par floxone ] Salut à tous,J'ai un problème avec un script utilisant une identification au travers un header.LE PROBLEME : la fenetre de saisie s'ouvre 2 fois ! J'a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales