8797 sujets

Développement web côté serveur, CMS

Bonjour,

J'utilise la fonction Switch lors de l'identification des visiteurs sur mon site.

Je souhaite rediriger les visiteurs vers une page spécifique en fonction de leur login (et de la catégorie qui leur est attribuée)...j'utilise donc la fonction switch pour comparer leur catégorie (renvoyée par MySQL_result) avec chaque catégorie possible. Mais je ne sais plus comment faire maintenant.

Tous les exemples que je vois utilisent "Switch" avec "Echo" pour afficher un message. Moi je veux qu'une fois que la condition est vérifiée, on aille sur une autre page (et non pas afficher un texte). Quelqu'un a t'il une idée de comment faire ?

D'avance merci à tous Smiley smile

Modifié par volonia75 (25 Dec 2006 - 19:39)
Merci. Header semble être la solution qu'il me faut.

Par contre, que veux tu dire par "mettre une vérification sur chacun de mes fichiers appelés" ?
Et bien je ne connais pas l'architecture de ton site mais, en admettant que je tape (par erreur bien sûr) l'adresse contenue dans le header(), que se passe t'il pour un utilisateur non enregistré comme moi ?
volonia75 a écrit :
J'utilise la fonction Switch lors de l'identification des visiteurs sur mon site.

Je souhaite rediriger les visiteurs vers une page spécifique en fonction de leur login (et de la catégorie qui leur est attribuée)...j'utilise donc la fonction switch pour comparer

Utilise un tableau bien plus performant et bien plus maintenanble.

volonia75 a écrit :
Quelqu'un a t'il une idée de comment faire ?

Oui, je viens de te le dire, avec un array.

Exemple :

<?php
$redirige=array('cat1'=>'page_1','cat2'=>'page_2','cat3'=>'page_3');

if(array_key_exists($result['categorie'],$redirige))
{
header("Location:  http://www.tonsite.ext/".$redirige[$result['categorie']].".php");
 
}
else
{
header("Location:  http://www.tonsite.ext/page_commune.php");
 
}
?>


EDIT : arf, les liens sont interprêtés dans le balisage code !!! Smiley langue
Modifié par Bison (26 Dec 2006 - 12:54)
autre alternative avec le switch ...
Si tu fait un echo de javascript il sera interpreter et non afficher

exemple :

<?php 
echo'<script language="JavaScript">window.location="index.php"</script>';
?>


++
Pour un menu oui c'est pas mal l'array, mais le switch est bien pratique qd on veut y ajouter certains paramètres, comme une requete sql, une feuille de style à ajouter etc. Donc le switch n'est pas à proscrire. (Je m'en sert pour orienter vers des gabarits).
zzzazzz a écrit :
Donc le switch n'est pas à proscrire.

Je n'ai pas dit cela... mais dans 99,99% des cas que je vois passé devant les yeux, il peut être favorablement remplacé par un array()

Faut-il rappeler que l'un des points forst de php réside dans sa gestion des array. Il suffit d'ailleurs de voir le nombre de fonctionnalités qui y sont liées pour s'en persuader.

Bref, dans le cas de la redir souhaitée par le posteur, l'array fera 100 fois mieux l'affaire.

zzzazzz a écrit :
(Je m'en sert pour orienter vers des gabarits).

Bah là, sans avoir vu, j'ai du mal a juger, mais si je devais interprêter ton argument, j'en déduirais ceci :
gabarit === page
donc
page === array
Modifié par Bison (26 Dec 2006 - 15:14)