identification cookie : gros bug !

identification cookie : gros bug ! - PHP - Programmation

Marsh Posté le 25-02-2006 à 13:25:20    

Salut tout le monde.
 
J'ai un super problème avec l'identification par cookies ... En gros j'avais fait le système qui marchait super bien sur mon site : http://xavier.hermes.free.fr/ où pour se conencter j'envoyait la personne sur une page puis elle entrait son login et mot de passe et si tout était cool il y était marqué "vous pouvez fermé la fenêtre et recharger l'ancienne page". C'est laid mais bon ...
 
Mon problème est que j'ai transposer le principe pour un autre site http://whatodoo.free.fr/ en cours de développement, mais j'ai mis la connection directement sur la page, puis je reviens sur la page d'accueil si les cookies ont été envoyés donc si l'identification à bien marché ! Et je doit voir apparaître bonjour "login" c'est votre nième visite ... Mais non il me dit toujours que je ne suis qu'un invité !!
 
Pourtant les cookies existe ... Donc je pense que c'est php qui merde. Voici le bout de code incriminé :
$wtd_login2 est le nom de la variable contenant le login dans le cookie ...
   <?php
   if($wtd_login2 == "" ) echo "Vous êtes un invité.\n<br/>";
   else{
    $dbhost="host";
    $dbuser="user";
    $dbpass="mot de passe";
    $dbbase="ma base";
    $table="ma table";
 
    $link = mysql_connect($dbhost,$dbuser,$dbpass);
 
    if (!$link){
     echo "Connexion à la base de données impossible !";
    }
    else{
     $link = mysql_select_db($dbbase);
 
     if (!$link){
      echo "Impossible de sélectionner la base de données !";
     }
     else{
      $cpt = mysql_query("SELECT visite FROM $table WHERE login='$wtd_login2'" );
      echo"test : $cpt";
      $cpt ++;
      mysql_query("UPDATE $table SET visite='$cpt' WHERE login='$wtd_login2'" );
      mysql_close();
     }
     echo"Bonjour $wtd_login2\n<br/>";
     echo"C'est votre $cpt";
     if($cpt == 1) echo"ère visite.\n<br/>";
     else echo"ème visite.\n<br/>";
    }
   }
   ?>
Si quelqu'un avait une petite idée du bug ... parce que là je comprend plus rien ...

Reply

Marsh Posté le 25-02-2006 à 13:25:20   

Reply

Marsh Posté le 25-02-2006 à 14:13:02    

"register_global" est surement désactivé. Utilise $_COOKIE.
A savoir que si c'est le cas, toutes les données envoyé par le navigateur ou fournis par le serveur sont accéssible grace aux $_COOKIE, $_GET, $_POST, $_SERVER et quelques autres variables du genre. (voir doc pour plus d'infos)

Reply

Marsh Posté le 25-02-2006 à 14:22:49    

ok, ok alors je teste avec $_COOKIE ....
Ce qui donne :
   $cookie = $_COOKIE['login2'];
   if(!empty($cookie)){
    echo 'test=>'.$cookie;
   }
   else{
    echo 'Invité !';
   }
Mais là encore rien à faire ....
juste une question : Free n'a rien à voir la dedans ?

Reply

Marsh Posté le 25-02-2006 à 15:49:32    

Je viens de comprendre ... En la parti de code était en include sur la page,
et le second code PHP (celui qui était inclus) n'était pas exécuté !!!
Voilà la source de mes problèmes...
 
Merci encore à omega2 ...

Reply

Sujets relatifs:

Leave a Replay

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