{PhP} Probleme dans mes sessions

{PhP} Probleme dans mes sessions - Programmation

Marsh Posté le 03-02-2002 à 23:31:04    

J'ai deja poste un sujet la dessus, mais je me suis un peu embrouille... J'ai reelement besoin d'aide, ca doit pas etre grand chose... Voila l'explication, ca risque d'etre un peu long...
 
J'ai cree un site ou il y'a la possibilite d'etre membre. Pour se logguer, on entre son mot de passe et son login, classique quoi. De mon cote, mon programme regarde dans une BDD SQL les donnees et accepte en cas d'infos corrects. Une fois loggue, le membre peut ecrire des messages internes au autres membres. Pour se faire, il suffit de remplir un formulaire et de le poster.
Lors du post, pour une raison obscur, la session du membre est detruite.... Je voudrais en connaitre la raison.
 
Mon site tient en fait sur une seule page par un procede de pseudo frames. voila le code du debut :
 
session_start();
 if ($page=="ident_check" )
  {
    echo "je suis rentre alors que je n'ai pas le droit!!";
    $sql = "select * from trolls where pseudo='$login'";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    $data = mysql_fetch_object($req);
    if(($data->password != $passwd) || !mysql_numrows($req))
     {
 $log=0;
     }
    else
     {
 $log=1;
 $session_prenom = $data->prenom;
 $session_statut = $data->statut;
 $session_pseudo = $data->pseudo;
 $session_troll  = $data->id_troll;
 session_register('session_prenom';);  
 session_register('session_pseudo';);  
 session_register('session_statut';);  
 session_register('session_troll';);  
      }
   }
  else if (!empty($page))
   {
     $requete = "Select * from redirection where page='$page'";
     $query = mysql_query($requete) or die("Adresse corrompue" );
     $page_result = mysql_fetch_object($query);
     if ($page_result->membre == "o" )
      {
        if (session_is_registered('session_pseudo';))
   {
     $log = 1;
   }
 else
   {
    $log = 0;
   }
      }
   }
 
Ce probleme ne se produit que sur la page de post qui ne contient AUCUNE operation relative aux sessions... la page de post contient :
 
if (!empty($message) && !empty($sujet) && !empty($destinataire))
         {
    $date = date("M j" );
    $requete  = "INSERT INTO msg_membre";
    $requete .= " VALUES (null,'$destinataire','$message
','non-lu','','
$session_id', '$sujet', '$date';)";
    mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());
    echo "Message posté!";
  }
        else
         {
    echo "Il manque trop de champs pour poster ce message... Désolé !";
  }
 
J'ai reelement besoin d'un coup de pouce... :sweat:

Reply

Marsh Posté le 03-02-2002 à 23:31:04   

Reply

Marsh Posté le 04-02-2002 à 00:21:40    

:bounce:

Reply

Marsh Posté le 04-02-2002 à 00:29:24    

:cry:

Reply

Marsh Posté le 04-02-2002 à 19:28:47    

:o

Reply

Marsh Posté le 04-02-2002 à 19:37:56    

Essaye de voir si c'est ca le problème :
 
 

Citation :

Registering a variable creates a global instance of the variable, but it
does not automatically pull it into the local scope.
 
So to set a registered variable within a function:
<?
session_start();
 
function test( $val )  {
   session_register( "somevar" );
//  $somevar = $val;  //-- This will NOT set the value of the registered
somevar, instead it creates a local, albeit unrelated, instance
   $GLOBALS['somevar'] = $val;  //This sets the registered $somevar
}
 
test( "A value" );
?>
 

Reply

Marsh Posté le 04-02-2002 à 20:04:07    

En fait, le probleme se repete lors de l'utilisation d'un formulaire par methode POST
Quel influence un post de formulaire a t il sur une session ?

Reply

Marsh Posté le 04-02-2002 à 20:05:15    

tu es sur ce ces parametres ??
session.use_cookies = 1
session.use_trans_sid = 1
 
si c'est non passe ton ID dans l'URL !!
 
autre chose, tu utilises un header() ?

Reply

Marsh Posté le 04-02-2002 à 20:06:52    

le post est pareil qu'un href donc y doit pas y avoir de problemes !
sauf s'il a été coupé dans la config des sessions mais j'ai jamais vu ca !

Reply

Sujets relatifs:

Leave a Replay

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