[php] redirection avec paramètres de session

redirection avec paramètres de session [php] - Programmation

Marsh Posté le 31-08-2001 à 15:02:07    

comment conserver les paramètres de session après un redirection?
J'ai essayé avec un header, et un META HTTP-EQUIV
le prob est que les paramètres de session ne suivent pas, malgré le session_name()=session_id() inclus dans l'url

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 31-08-2001 à 15:02:07   

Reply

Marsh Posté le 31-08-2001 à 20:39:53    

explicite un peu +, y'a pas de raison que ça marche pas si tu restes ds le mm domaine (évidemment...)
 
c'est pas forcément avec l'url que tu passes le SID
 
autrement t'aurais pas oublié un session_start(); dans la page où tu vas après ?

Reply

Marsh Posté le 01-09-2001 à 17:35:47    

non, j'ai bien des sessions start partout :(
je pige pas
et si je passe par un bouton, genre "clicker pour continuer" ben ca marche

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 01-09-2001 à 20:15:43    

tu met biens des adresses relatives dans tes redirection? pas des absolues.

Reply

Marsh Posté le 01-09-2001 à 23:04:24    

oui oui, des relatives

Reply

Marsh Posté le 02-09-2001 à 01:00:44    

<?
Header("Location: aff_topics.php3?session_name()=session_id()" );
session_start();
?>
 
help!!

Reply

Marsh Posté le 02-09-2001 à 02:55:52    

Ce dont je vais te parler est du php4
Declaration de la session
 
J ai un formulaire qui renvoit ds cette page les variables $nom et $passe
je vais mettre ces 2 variables en variables de sessions. Les 2 variables de sessions sont "login" et "password"
Code: index.php simplifié
 
<?  include("_connexion.php" );
echo "
<FORM ACTION='pre_page1.php3' TARPOST='_top' METHOD=POST>
<INPUT TYPE=text NAME=nom MAXLENGTH=20 SIZE=30 style='background=#DDE8F4; font=bold;'>
<INPUT TYPE=password NAME=passe MAXLENGTH=20 SIZE=30 style='background=#DDE8F4; font=bold;'>
<INPUT TYPE=IMAGE SRC=images/board_09.gif WIDTH=160 HEIGHT=34>
</FORM>
 
Code: pre_page1.php
<?  
 
 $login=$nom;
 $password=$passe;
 session_register("login" );
 session_register("password" );
 
 
include("_connexion.php" );
 
 $ip = $REMOTE_ADDR;
 $host = $REMOTE_HOST;
 $res_connection = mysql_query("INSERT INTO espion VALUES('','$login','$password','$ip','$host')",$desc);
 
 
 $res_connect = mysql_query("DELETE FROM connection WHERE login='$login' AND numero=2",$desc);
 $dateactuel = time();
 $res_connection = mysql_query("UPDATE connection SET numero=2 WHERE login='$login' AND numero=1",$desc);
 $res_connection = mysql_query("INSERT INTO connection VALUES('$login','$dateactuel','1')",$desc);
 
 mysql_close($desc);
 
?>
<HTML>
<HEAD>
<script language="JavaScript">
 document.location.replace("page1.php3" );
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
 
code: page1.php3 simplifié
<? session_start(); ?>
<HTML>
<HEAD>
</HEAD>
<BODY>
<?
include("_connexion.php" );
 
if (!empty($login) && !empty($password))
{
   $resultat = mysql_query("SELECT * from membre where login='$login' and password='$password'",$desc);
   if (mysql_num_rows($resultat) == 0)
   {
 session_destroy();
 echo "Desole memre pas enregistré";
   }
   else
   {
    .... ton code...
   }
}
else
{
   session_destroy();
   echo "Desole memre pas enregistré";
}
?>
</BODY>
 
 
voila un exemple d'utilisation des variables de session. le code est bon, je l utilise dans mon site, mais j ai repris des parties a droite et a gauche ds les pages et qui sait, y a ptet une erreur qui s est glissée. J'espere avoir répondu à ton problème, mais n en suis pas sur


---------------
Le chat c'est bon, mangez en :p
Reply

Marsh Posté le 02-09-2001 à 11:02:53    

ben en fait j'ai pas de prob avec mes var de sessions, SAUF avec la redirection auto!!
si je vire le header, ca marche..
:(
merci d'essayer de m'aider

Reply

Marsh Posté le 02-09-2001 à 11:07:58    

sisicaivrai a écrit a écrit :

<?
Header("Location: aff_topics.php3?session_name()=session_id()" );
session_start();
?>
 
help!!  




 
C'est ca ton code? si oui, c'est normal que ca ne marche pas! la redirection est effectuée dès la ligne header donc session_start() n'est jamais lancé.

Reply

Marsh Posté le 02-09-2001 à 11:12:04    

gizmo a écrit a écrit :

 
 
C'est ca ton code? si oui, c'est normal que ca ne marche pas! la redirection est effectuée dès la ligne header donc session_start() n'est jamais lancé.  




j'ai essayé d'inverser les deux lignes, ca ne change rien
il n'y a pas d'exit après le header, donc le reste du code s'execute
et en fait en théorie ces deux lignes doivent se situer en tout début du code, avant tout le reste, mais dans ce cas ci il en faut bien un avant l'autre...
je ne comprend paaaaaas :(

Reply

Marsh Posté le 02-09-2001 à 11:12:04   

Reply

Marsh Posté le 02-09-2001 à 11:18:54    

non, ca doit pas etre en début du code, ca doit se trouver avant tout production de code HTML pour la page en cours.

Reply

Marsh Posté le 02-09-2001 à 11:21:41    

ce que j'ai mis, c'est en début de code (html et php)
ca doit etre bon alors, non?

Reply

Marsh Posté le 02-09-2001 à 11:35:41    

oui, ca devrait. Enfin, il me semble.

Reply

Marsh Posté le 02-09-2001 à 11:41:00    

essaye
<?  
session_start();  
$id = session_id();
$name = session_name();
Header("Location: aff_topics.php3?$name=$id" );  
?>


---------------
Le chat c'est bon, mangez en :p
Reply

Marsh Posté le 02-09-2001 à 11:44:21    

nidosaur a écrit a écrit :

essaye
<?  
session_start();  
$id = session_id();
$name = session_name();
Header("Location: aff_topics.php3?$name=$id" );  
?>  




ca a l'air bon!!!!
merci :jap: :)

Reply

Sujets relatifs:

Leave a Replay

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