Page 1 sur 2

Redirection

Posté : 16 mars 2006, 10:37
par ephemere
Bon ça quand même j'espérais y arriver tout seul...
Je veux faire une redirection de page en fonction de la valeur du champs Fonction_user....:
if ($res['Fonction_user'] == 1) { header ("Location: http://www.google.fr"); }
if ($res['Fonction_user'] == 2)   header ("Location: ./user/index.php");
if ($res['Fonction_user'] == 3) {  echo 'Bienvenue '.$login;}
La syntaxe est bonne j'ai bien acces à ma page mais les deux premières lignes ne donne rien !
Or le problème vient bien de la puisque le echo fonctionne très bien... :?
Le pire c'est que j'ai déjà fait des redirection avec header qui marchaient parfaitement!

Posté : 16 mars 2006, 10:41
par tomypunk
tu envois pas déjà le header de ta page avant ?
avec des sessions par exemple ?

Posté : 16 mars 2006, 10:43
par ephemere
non non non !

Re: Redirection

Posté : 16 mars 2006, 10:56
par JazzFinder
---

Posté : 16 mars 2006, 11:04
par ephemere
J'ai pas mis les accolades exprès parce que sur mes pages ou ça fonctionne y en a pas.
et sinon j'avais oublié un / mais j'ai reédité. Evidemment ça ne change rien... :(

Posté : 16 mars 2006, 11:11
par JazzFinder
---

Posté : 16 mars 2006, 11:21
par ephemere
a ben non ça ne fonctionne pas sinon vous auriez entendu un cris de joie venu de l'horizon...

Posté : 16 mars 2006, 12:33
par JazzFinder
---

Posté : 16 mars 2006, 12:55
par ephemere
Alors là il me prend pas le else (après le elseif)...et si je met deux elseif y a plus d'erreur de syntaxe mais rien ne se passe...il me renvoi sur la même page comme si de rien était...je vous envoi le bout de code plus complet on sais jamais...
$sql = "SELECT Login_user, Password_user, Fonction_user FROM user WHERE Login_user = '".$login."' AND Password_user = '".$password."'";
$req = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($req) == 1) { 
$res=mysql_fetch_assoc($req);

if ($res['Fonction_user'] == 1)  {  echo 'Bienvenue '.$login;}
elseif ($res['Fonction_user'] == 2)   {header ("Location: http://www.google.fr");}
else ($res['Fonction_user'] == 3){ header ("Location: http://www.google.fr"); }
} 
else {  echo 'Login inconnu';

} 

?>
PS: le echo marche toujours aussi bien...

Posté : 16 mars 2006, 13:01
par tomypunk
Alors là il me prend pas le else (après le elseif)...et si je met deux elseif y a plus d'erreur de syntaxe mais rien ne se passe...il me renvoi sur la même page comme si de rien était...je vous envoi le bout de code plus complet on sais jamais...
$sql = "SELECT Login_user, Password_user, Fonction_user FROM user WHERE Login_user = '".$login."' AND Password_user = '".$password."'";
$req = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($req) == 1) { 
$res=mysql_fetch_assoc($req);

if ($res['Fonction_user'] == 1)  {  echo 'Bienvenue '.$login;}
elseif ($res['Fonction_user'] == 2)   {header ("Location: http://www.google.fr");}
else ($res['Fonction_user'] == 3){ header ("Location: http://www.google.fr"); }
} 
else {  echo 'Login inconnu';

} 

?>
PS: le echo marche toujours aussi bien...
essaye comme ça :
$sql = "SELECT Login_user, Password_user, Fonction_user FROM user WHERE Login_user = '".$login."' AND Password_user = '".$password."'";
$req = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($req) == 1) { 
$res=mysql_fetch_assoc($req);

if ($res['Fonction_user'] == 1)  {  echo 'Bienvenue '.$login;}
elseif ($res['Fonction_user'] == 2)   {header ("Location: http://www.google.fr");}
elseif ($res['Fonction_user'] == 3){ header ("Location: http://www.google.fr"); }
} 
else {  echo 'Login inconnu';

} 

?>
on peut pas mettre de condition pour un simple else !!!

Posté : 16 mars 2006, 13:16
par ephemere
rien à faire c'est pareil....
comme je l'avais déjà dit "si je met deux elseif y a plus d'erreur de syntaxe mais rien ne se passe"...j'avais déjà testé

Posté : 16 mars 2006, 13:32
par tomypunk
dans ta base de donnée ils sont stocké dans koi tes numéro ?

Posté : 16 mars 2006, 13:44
par JazzFinder
---

Posté : 16 mars 2006, 14:20
par ephemere
j'ai changé mais ça ne change rien, ce qui est logique puisque au risque de me répéter le echo fonctionne bien!
j'ai testé 20 000 fois le problème ne vient pas de $res["fonction_user"]

Posté : 16 mars 2006, 14:22
par tomypunk
et si tu essayais un truc comme ça :
$sql = "SELECT Login_user, Password_user, Fonction_user FROM user WHERE Login_user = '".$login."' AND Password_user = '".$password."'";
$req = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($req) == "1") {
$res=mysql_fetch_assoc($req);

if ($res['Fonction_user'] == "1")  {  echo 'Bienvenue '.$login;}
elseif ($res['Fonction_user'] == "2")   {header ("Location: http://www.google.fr");}
else ($res['Fonction_user'] == "3"){ header ("Location: http://www.google.fr"); }
}
else {  echo 'Login inconnu';

}