[réglé] Méthode GET et réécriture d'URL

Discussion dans 'URL Rewriting et .htaccess' créé par Hyogapag, 10 Juillet 2006.

  1. Hyogapag
    Hyogapag Nouveau WRInaute
    Inscrit:
    3 Mars 2005
    Messages:
    7
    J'aime reçus:
    0
    Bonjour,
    je suis en train de réaliser la réécriture de mes URL, et j'ai un petit problème avec la méthode GET. J'arrive bien entendu à réécrire l'URL final comme je veux, le problème n'est pas là. Ce que je me demande, c'est comment dans le formulaire qui gère l'envoi de la donnée, impliquer la réécriture. Je m'explique. Au lieu de fichier.php?nom=foo, où foo est la donnée envoyée en GET, je veux obtenir fichier-foo.html. Quand je tape dans la barre d'adresse fichier-foo.html, je n'ai aucun problème, c'est la bonne page qui s'affiche. Seulement voici le formulaire qui réalise l'envoi en GET :
    Code:
        ".'<div class="'.CLASS_FORMULAIRE.'">
    	<form action="'.NOM_DU_FICHIER.'.php" method="get">'."
    	    <p>$texte_formulaire</p>
    	    <p class=\"champ-formulaire\"><input type=\"text\" name=\"nom\" /></p>
    	    <p class=\"bouton-formulaire\"><input type=\"submit\" value=\"$bouton_formulaire\" /></p>
    	</form>
        </div>
    ";
    Voilà donc mon code, qui comme vous le voyez est au final un bête formulaire HTML. Dans un lien de type a href, aucun problème pour impliquer la réécriture d'URL, mais dans ce cas, je ne vois pas comment faire. Quelqu'un aurait-il une solution?
    Merci d'avance.
     
  2. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    15 681
    J'aime reçus:
    0
    il n y a pas d interet à faire cela, vu que c est une adresse que tu va atteindre en cliquant sur un formulaire submit. par contre que ton url soit accessible en tappant l url rexrité, ca va te permettre que ces pages soient référéncés par google (via un plan de site par exemple). par contre qu'apres validation de formulaire l adresse ne soit pas rewrité, quel probleme ?
     
  3. STFprod
    STFprod WRInaute impliqué
    Inscrit:
    14 Janvier 2004
    Messages:
    624
    J'aime reçus:
    0
    2 solutions :

    1. javascript qui modifie le "action" du formulaire en fonction de la variable "text"
    2. renvoyer vers form.php qui fera un
    Code:
    Header("Location:ficher-" . $_GET['nom'] . ".html");
    exit();
    Mais comme dit e-kiwi, si c'est pour le référencement, aucun intérêt...
     
  4. Hyogapag
    Hyogapag Nouveau WRInaute
    Inscrit:
    3 Mars 2005
    Messages:
    7
    J'aime reçus:
    0
    Merci e-kiwi et STFprod ! Ce n'est effectivement pas pour le référencement que réécrire cette URL m'intéressait. Pour des raisons propres à la conception du site, elle se devait néanmoins de l'être sous peine de dysfonctionnements. Si vous voulez plus de détails, dites-le, je vous expliquerai. ;)
     
  5. STFprod
    STFprod WRInaute impliqué
    Inscrit:
    14 Janvier 2004
    Messages:
    624
    J'aime reçus:
    0
    alors je veux bien que t'expliques, car je ne vois pas en quoi cela pourrait poser probleme, à part esthétique :)
     
  6. Hyogapag
    Hyogapag Nouveau WRInaute
    Inscrit:
    3 Mars 2005
    Messages:
    7
    J'aime reçus:
    0
    En fait, tout le site n'est géré que par un seul fichier nommé site.php. Par la méthode GET, il récupère des variables qui servent à reconstruire une URL. Par exemple, site.php?d1=personnages&p=index charge le fichier index du dossier personnages dans l'interface graphique définie dans site.php et quelques includes annexes. Donc pour les variables de l'index on obtient des URL du type : adresseip/site.php?d1=personnages&p=index&classement=age ou même d'autres plus complexes. Si on lance adresseip/personnages/index.php?classement=age, le fichier se chargera, mais sans l'interface graphique. Seulement, avec un formulaire GET, on ne peut pas dire que form action = site.php?foo=bar&bar=foo car ces variables sont retirées lors de l'envoi.
    Donc avec ou sans URL rewriting, ce formulaire me posait des problèmes. J'aurais sûrement pu appliquer ta proposition (2) à une URL à variables multiples, mais je n'y avais pas pensé.^^
    En fait je me disais que la réécriture d'URL me simplifierait la vie. Et puis elle permet de cacher des variables qui, même si elles sont protégées, sont des portes pour hacker le site.^^