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

Nouveau WRInaute
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.
 
WRInaute accro
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 ?
 
WRInaute occasionnel
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...
 
Nouveau WRInaute
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. ;)
 
WRInaute occasionnel
alors je veux bien que t'expliques, car je ne vois pas en quoi cela pourrait poser probleme, à part esthétique :)
 
Nouveau WRInaute
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.^^
 
Discussions similaires
Haut