[php]url et forme

bonjour
je voudrais savoir comment faire en programmant en php faire apparaitre des url de cette forme : par exemple
http://monsitedontjen'aipasledroitdemettrel'url/index.php?cat=prog

27 réponses

Résumé de la discussion

Plusieurs échanges portent sur la mise en forme d'URLs en PHP avec une requête GET du type index.php?cat=prog et sur la manière d'afficher des liens qui font évoluer dynamiquement le contenu. Pour répondre, certains proposent d'afficher l'ancre programmée via print et de passer le paramètre cat dans l'URL, puis d'utiliser des conditions pour inclure des fichiers selon la valeur du cat. D'autres proposent des scripts qui incluent des fichiers dédiés (cat1.inc, cat2.inc, etc.) uniquement après vérification de la valeur du cat afin d'éviter des inclusions arbitraires. En cas de besoin, des conseils supplémentaires évoquent l'usage de formulaires GET et des mécanismes de redirection pour maintenir des URL propres tout en protégeant le serveur contre les manipulations.

Bobot (l’IA à votre service)
  1. C'est avec un formulaire en method GET

    Esox

    Eternel Questionneur. Seul et Unique membre de la : SPdLM
    => Société Protectrice des Langages Maltraités
    1. un formulaire mais la c avec un bouton pas un lien si?
      1. Oui c'est avec un bouton. Apres pour récupérer les infos, tu découpe l'adresse avec un str qqchose
    2. oui mais ce n'est pas ce que je voudrais
      je voudrais un lien qui affiche une url comme je l'ai decrite ci dessus
      est ce possible
      1. ah attends y'a un meilleur truc:

        $_SERVER['QUERY_STRING'];


        qui encode les valeurs de GET dans l'url
    3. oui mais apres est ce que je peut recupere les argument pour les action voulu
      1. Comme je te le disais plus haut, il faut utiliser un str quelque chose, je sais plus quoi désolé...
    4. Biensur, pour le recup , dans ton ficher php tu ecrit :

      <?

      $mavariable = $_GET['id'];

      ?>

      la variable $mavariable aura la valeur 5 (dans le cas ennoncer par eagle)

      Eternel Questionneur. Seul et Unique membre de la : SPdLM
      => Société Protectrice des Langages Maltraités
      1. merci c ce qu'il me faut derniere question est j'arrete
        vous savez comment on implemente ca pour faire un lien : $_SERVER['QUERY_STRING'];
        sinon je ferait des recherche mais comme vous etes la
        1. En fait $_SERVER['QUERY_STRING'] intègre les paramètres de l'url dans l'url courante, je crois. (personnellement je n'ai jamais utilisé cette méthode)
      2. donc en appelant cette commande l'url 'se met a jour' mais comment sauras t'elle qu'en cliquant sur programmation l'url deviendras index.php?cat1 se qui occasionneras une redirection?
        1. ben le lien se présentera sous cette forme:

          <?php
          print "<a href=\"index.php?cat=".$cat."\">Programmation</a>";
          ?>
          1. et sur la page j'ecrit quelquechose qui recupere l'id et le compare pour un redirection?
            1. en fait tu peux faire ça avec des includes

              if ($cat == "1") {
              include ("/include/cat1.inc");
              }if else ($cat == "2") {
              include ("/include/cat2.inc");
              }


              ou faire ça avec des cases
              1. ok merci beaucoup si tu as d'autre conseil n'hesite pas je verrai ca demain
                1. D'accord, je pense que tu peux faire qqchose d'interessant déjà avec ça ;-)
              2. Ou si tu as 512 $cat different (je plain celui qui se tapera 512 ficher include :p) :

                $include_file = "/include/cat".$cat."inc";
                include($include_file);

                esox
                Eternel Questionneur. Seul et Unique membre de la : SPdLM
                => Société Protectrice des Langages Maltraités
                1. Oui lol ^^
              3. Parcontre juste un petit conseil niveau secu.

                Tes include, nomme les : mon_nom.inc.php, parceque a - que tu configure apache pour interpreter les .inc , il suffirais qu'un mec tape : http://tonsite/tonficher.inc/ pour avoir tout ton code source de l'include ... pendant que si tu fini le nom avec .php apache l'interpretera et il y aura aucun prob

                Eternel Questionneur. Seul et Unique membre de la : SPdLM
                => Société Protectrice des Langages Maltraités
                1. Ca veux dire .include, c'est une abbreviation qu'on utilise en general pour les ficher a inclure ... mais si tu veu tu peu les appeller .daedric , .maman , .papa ou ce qui est mieu : .inc.php

                  Eternel Questionneur. Seul et Unique membre de la : SPdLM
                  => Société Protectrice des Langages Maltraités
                  1. eh oui question sécurité c'était pas vraiment ça mon .inc tout seul... enfin tant qu'il n'y a pas d'infos "vitales" dedans... mais enfin il vaut mieux toujours essayer de sécuriser ses scripts au maximum, on sait jamais ;-)
                    1. merci pour vos reponses je vais faire ce que vous avait dit et si jamais j'ai un probleme je sais ou trouve de l'aide ;-)
                      1. j'ai encore malheuresement un probleme
                        voici la situation:
                        acceuil.php et colonne.php sont liee dans un fichier index.html
                        lien de colonne avec un parametre cat =1 lit sur acceuil ouvrant un fichier programmation
                        source de colonne
                        <?php 
                         echo"<a href='index.php?cat=1' target='acceuil'>programmation</a>";
                         ?> 

                        source de acceuil
                        <?php 
                        if($cat=1){include("hacking.php");}
                        ?> 

                        code de programmation.php
                        <?php
                         echo"<h1>bienvenu sur ma page sur le java<h1>";
                        ?>


                        voila le liens de colonne ne marche pas comment le resoudre
                        1. En enlevant les fautes ? Genre if($cat == 1) et
                          echo"<h1>bienvenu sur ma page sur le java</h1>";

                          Essaie deja ca, c'est deja un bon debut

                          Eternel Questionneur. Seul et Unique membre de la : SPdLM
                          => Société Protectrice des Langages Maltraités
                          • 1
                          • 2