Redirection

Eléphant du PHP | 124 Messages

16 mars 2006, 10:37

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!
Modifié en dernier par ephemere le 16 mars 2006, 11:01, modifié 1 fois.

Eléphant du PHP | 101 Messages

16 mars 2006, 10:41

tu envois pas déjà le header de ta page avant ?
avec des sessions par exemple ?

Eléphant du PHP | 124 Messages

16 mars 2006, 10:43

non non non !

Eléphant du PHP | 417 Messages

16 mars 2006, 10:56

---
Modifié en dernier par JazzFinder le 28 juin 2006, 16:23, modifié 1 fois.

Eléphant du PHP | 124 Messages

16 mars 2006, 11:04

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... :(

Eléphant du PHP | 417 Messages

16 mars 2006, 11:11

---
Modifié en dernier par JazzFinder le 28 juin 2006, 16:23, modifié 1 fois.

Eléphant du PHP | 124 Messages

16 mars 2006, 11:21

a ben non ça ne fonctionne pas sinon vous auriez entendu un cris de joie venu de l'horizon...

Eléphant du PHP | 417 Messages

16 mars 2006, 12:33

---
Modifié en dernier par JazzFinder le 28 juin 2006, 16:24, modifié 1 fois.

Eléphant du PHP | 124 Messages

16 mars 2006, 12:55

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...

Eléphant du PHP | 101 Messages

16 mars 2006, 13:01

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 !!!
Voir mes projets sur mon BLOG

Eléphant du PHP | 124 Messages

16 mars 2006, 13:16

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é

Eléphant du PHP | 101 Messages

16 mars 2006, 13:32

dans ta base de donnée ils sont stocké dans koi tes numéro ?
Voir mes projets sur mon BLOG

Eléphant du PHP | 417 Messages

16 mars 2006, 13:44

---
Modifié en dernier par JazzFinder le 28 juin 2006, 16:24, modifié 1 fois.

Eléphant du PHP | 124 Messages

16 mars 2006, 14:20

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"]

Eléphant du PHP | 101 Messages

16 mars 2006, 14:22

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';

} 
Voir mes projets sur mon BLOG