Messages: 7

Enregistré le: 3 Mar 2005

Message le Lun Juil 10, 2006 15:35

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: Tout sélectionner
    ".'<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.
Modifié en dernier par Hyogapag le Mar Juil 11, 2006 18:03, modifié 1 fois.
Haut
5 Réponses
Messages: 15681

Enregistré le: 23 Déc 2003

Message le Lun Juil 10, 2006 15:46

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 ?
Modifié en dernier par e-kiwi le Mar Juil 11, 2006 4:56, modifié 1 fois.
Haut
Messages: 627

Enregistré le: 14 Jan 2004

Message le Lun Juil 10, 2006 17:37

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: Tout sélectionner
Header("Location:ficher-" . $_GET['nom'] . ".html");
exit();


Mais comme dit e-kiwi, si c'est pour le référencement, aucun intérêt...
Haut
Messages: 7

Enregistré le: 3 Mar 2005

Message le Mar Juil 11, 2006 18:02

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. ;)
Haut
Messages: 627

Enregistré le: 14 Jan 2004

Message le Mar Juil 11, 2006 18:04

alors je veux bien que t'expliques, car je ne vois pas en quoi cela pourrait poser probleme, à part esthétique :)
Haut
Messages: 7

Enregistré le: 3 Mar 2005

Message le Mar Juil 11, 2006 18:22

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