Question _GET et redirection

Suivre ce topic
Ce topic est suivi par : Personne...
Ce topic a été résolu
Raphmania

Raphmania Le 14 décembre 2017 à 15:50 (Édité le 25 janvier 2019 à 17:54)

Bonjour tout le monde 😀

Voila j'ai une question !
J'ai trouvé une carte de France, style "leboncoin", en open source pour mon site. Elle est bien belle je suis bien content.
Cependant, j'aimerai que quand on clique sur la région, la bonne page région s'ouvre...

Maintenant ma question : j'ai dans mon url le nom de la région qui transit via la balise GET. Est ce possible de rediriger le client vers la bonne page région avec GET?
<?php

if($_GET['departement']) {
$dep = $_GET['departement'];
header("Location: auvergne.php");

}
?>

J'aimerai arriver a glisser quelque part que si $dep = auvergne, alors REDIRIGE vers auvergne ! Mais je galère... j'espere que c'est possible d'ailleurs 😰

Merci a vous d'avance !
Balatharas

Balatharas Le 14 décembre 2017 à 17:43 (Édité le 14 décembre 2017 à 17:44)

Salut 😀
if($_GET['departement']) {
    $dep = $_GET['departement'];
    switch($dep) {
        case 'auvergne':
            header("Location: auvergne.php");
        break;

        case 'alsace':
            header("Location: alsace.php"); 
        break;
        // etc etc voilà la syntaxe
        case 'value':
            # code...
        break;
    }        
}
En gros switch c'est l'équivalent de if($dep et case c'est == 'value' ensuite il faut mettre break; pour dire que le case se ferme c'est le même principe que } ou endif;
Tu peux aussi mettre une valeur par défaut, c'est la valeur qui sera utilisée si on ne trouve aucun case qui correspond
default:
   # code...
break;
Raphmania

Raphmania Le 14 décembre 2017 à 17:56

Pouah, super merci ! J'ai cherché toute la journée 😰  Ca parait évident maintenant 😭
Franchement merci !!! +1
Balatharas

Balatharas Le 14 décembre 2017 à 20:25

De rien 😊
ThomasLBA

ThomasLBA Le 1 janvier 2018 à 17:06 (Édité le 2 janvier 2018 à 16:53)

Je suis peut être en retard mais il y a un moyen plus simple de faire ça

if(isset($_GET[’departement’])){
    $dep = htmlspecialchars($_GET[’departement’]); 
    //On n’oublie pas de sécuriser la variable avec "htmlspecialchars()"
    header(’Location: ’ . $dep . ’.php’);
}
Balatharas

Balatharas Le 3 janvier 2018 à 16:17

Salut @ThomasYTB
Oui j'aurais donné ce code si @Raphmania n'avait pas plusieurs départements à traiter.
De plus, pas besoin de htmlspecialchars, car dans les header je n'ai pas mis la variable $_GET['departement'], j'ai juste regardé son contenu.
ThomasLBA

ThomasLBA Le 3 janvier 2018 à 21:14

Oui evidemment dans ton cas cela fonctionne très bien mais dans l’exemple que j’ai donné c’est assez dangereux de faire passer une variable modifiable par l’utilisateur circuler dans l’url !
Sur ce, bonne soirée à vous 😉
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte