problème avec les conditions IF et les sessions - PHP - Programmation
Marsh Posté le 23-02-2008 à 16:31:26
cbastien41 a écrit : le session_regenerate_id s'execute même si $totalRows_visitpage = 0 |
C'est normal, >= signifie supérieur ou égale. Donc quand on a 0, on est bien dans un des deux cas, donc la condition est respecté.
Ce qu'il te faut, il me semble, c'est un strictement supérieur donc simplement >
Marsh Posté le 23-02-2008 à 17:26:51
non çà doit pas être çà, car lorsque c'est égal à zéro, normalement rien ne doit se passer puisque c'est dans le cas ou s'est égal ou supérieur à 1
lorsque c'est surpérieur ou égal à 1, le header n'est pas pris en compte et c'est ce qu'il faut, mais le session_regenerate_id lui est pris en compte alors qu'il ne devrait pas
Marsh Posté le 23-02-2008 à 17:50:14
Ah oui au temps pour moi j'avais mal lu ton code.
Tu met bien un session_start() avant ce code?
Sinon je pense qu'il te faudrait un exit() après ton header(), sauf si tu es bien sûr et certain qu'aucun code ne sera exécuté.
En passant tu peux aussi vérifier si ça passe dans ta condition ou pas. En faisant un echo par exemple. Comme ça au moins tu saura si le problèlme vient de code ou d'ailleurs.
Marsh Posté le 24-02-2008 à 15:44:04
j'ai bien mis session_start() du fait que toutes mes sessions fonctionnent...
mon soucis est que mon session_regenerate_id s'execute alors qu'il n'est pas dans ma condition !
Marsh Posté le 24-02-2008 à 15:57:08
dwogsi a écrit : En passant tu peux aussi vérifier si ça passe dans ta condition ou pas. En faisant un echo par exemple. Comme ça au moins tu saura si le problèlme vient de code ou d'ailleurs. |
T'as essayé? C'est un bon moyen de vérifier si le problème vient de là.
Marsh Posté le 23-02-2008 à 16:06:05
j'ai un soucis avec une condition, c'est à dire que malgré la condition que je donne (qui fonctionne bien) et bien le session_regenerate_id s'execute alors qu'il ne devrait pas
$query1 = "SELECT * FROM matable WHERE user_id='". session_id()."' AND page='".$pageconsulte."'";
$res1 = mysql_query($query1, $requete) or die(mysql_error());
$visitpage = mysql_fetch_assoc($res1);
$totalRows_visitpage = mysql_num_rows($res1);
if ($totalRows_visitpage >= 1) {
session_regenerate_id();
Header("Location: http://autresite.com" );
}
le session_regenerate_id s'execute même si $totalRows_visitpage = 0
la redirection Header fonctionne bien pour un $totalRows_visitpage >= 1
alors pourquoi l'un fonctionne et pas l'autre ?
faut il mettre un exit() quelque part ?
merci de votre aide