[html]Redirection sur une page avec parametre

Rec -  
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

j'ai un petit souci de programmation. J'aimerai que ce simple code

<form action="" method="post">
<input type="text" name="traduire" "id="traduire" value="Tapez votre mot" onFocus="this.value=''" />
<input type="submit" value="Traduction"/>
</form>

M'envois sur l'url de forme http://.../.../paramètre
paramètre étant ce que l'utilisateur a tapé dans l'input

j'arrive seulement à transmettre à l'url des variables en php de type ?var= mais l'url que je souhaite atteindre est seulement du type http://www.site.fr/.../

Une idée pour m'aider ? Merci beaucoup
A voir également:

14 réponses

pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Salut, alors une solution : tu mets comme action de ton formulaire "redirect.php". Dans le fichier redirect.php, tu mets un code du genre :
header( "Location: http://.../.../$_POST['traduire']" );
Par contre, tu devrais vérifier les données saisies avant de faire une redirection dessus, afin de pallier aux risques de XSS.
2
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
en effet, je pensais aussi à la solution de rediriger avec un code 302 (moved)
sinon, il doit y avoir possibilité de faire ca en javascript, mais c'est plus propre je pense de faire ca coté serveur
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention  
 
Plus universel aussi, si le visiteur désactive JS, il peut quand même utiliser le site ;-p
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
Je mettrais plutot :

header( "Location: http://.../.../".$_POST['traduire'] );
1
babou54
 
c'est normal que tu ne vois pas les variables la methode de ton formulaire est en post si tu la change pour get tu les verra apparaitre dans l url
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
je suis pas sur d'avoir ben tout compris, mais tu peux mettre dans action le nom de la page sur laquelle envoyer les info:
<form action="mapage.php" method="post">
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Rec
 
Merci de votre aide, mais je crois que je me suis mal exprimé

je souhaite juste ouvrir l'url suivante lorsque je clique sur le submit
www.monsite.fr/parametre

parametre étant le mot tapé par l'utilisateur.
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
Dans ton cas, parametre serait un repertoire, tu voudrais donc que l'utilisateur rentre le nom d'un repertoir pour pouvoir y accéder ?
0
Rec
 
non ce n'est pas vraiment un répertoire ;
le site https://www.wordreference.com/fr/index.htm que je veux atteindre fonctionne comme cela:

pour traduire le mot "test"
il ouvre cette page
https://www.wordreference.com/enfr/test

je n'ai alors besoin que d'entrer "test" après https://www.wordreference.com/enfr/
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
Ok, la, j'avoue que je sais pas... =/

Mais tu peux aussi procéder en GET ce qui reglerait ton porblème, après, l'URL ne serait pas la même, ca c'est sur...

Je peux pas t'aider plus
0
Rec
 
merci beaucoup à vous trois,

j'ai essayé ta solution pyschopathe qui me parait effectivement très bonne !
Malheureusement j'ai une parse error dans le fichier redirect.php lors de la redirection :(

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'


même en ajoutant un \ avant les simple quotes '

je regarde sur google mais si vous avez une idée ^^

merci pour la soluce en tout cas
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
header( "https://www.wordreference.com/enfr/".$_POST['traduire'] );
ca fonctionne mieux comme ca ?

attention, une instruction "header" doit etre placé en toute première ligne de la sortie (pas d'echo ou de code html avant: c'est comme pour une session...)
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Euh... Oui ! Le tableau dans une chaine, ça ne risquait pas de marcher >_< !
0
Rec
 
Non malheureusement ça ne marche pas mieux en rajoutant le point :'(

Il n'y a bien que cette ligne de code dans le fichier php, c'est cela que tu veux dire quand tu parles de la toute première ligne de la sortie Nabla's ?

merci
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
oui, c'est bien de ca que je parlais.
De visu, je ne vois pas ou peut etre l'erreur dans la ligne que je t'ai donné ...

edit: ok, c'est cool
0
Rec
 
je suis désolé, au temps pour moi cela fonctionne, j'avais gardé les guillemets à la fin...

Merci beaucoup à vous =)
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
pour faire bien, (mais plus compliqué), et pour ne pas rediriger les gens vers le site de wordreference, je ferai (attention, c'est peut etre tiré par les cheveux:

-téléchargement de la page de wordreference plutôt que de rediriger dessus
-parser la page téléchargée et récupérer les info intéressantes
-afficher le résultat sur une page de ton site pour le visiteur
-ne pas oublier de dire (en tout petit) que la traduction a été faite en utilisant wordreference

n'oublies pas de mettre le psot en résolu quand tu estimera que c'est necessaire
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Voui, c'est faisable, mais plus lourd et pas forcément très sympa pour wordreference (ni très légal...) !
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193 > pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention  
 
-lourd: il ne télécharge que l'html, pas toute la page! donc bon.... c'est quand meme pas hyper lourd (ca dépend si il utuilise un parseur xml ou si il recherche directement dans le contenu)

-pas sympa pour wordreference: ca c'est clair

-pas très légal: il ne pirate pas, il utilise les possibilités de leur page web.... c'est pas comme si il décompilait un fichier flash non plus ! je considère ca comme légal. Ca pourrait devenir illégal je pense si il ne mettais pas un écrito: "powerd by wordreference"...

et pour éviter un éventuel filtrage d'ip (car son site risquerait d'etre trop gros consommateur de requetes;) ) faire tout ca en javascript: pour utiliser la bande passante, la puissance et l'ip du visiteur
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention  
 
lourd -> dans tous les cas, il faut requêter un autre site, puis parser la page, en XML ou plaintext, c'est lourd !
JS -> pas compatible avec tout le monde et récupérer une autre page en js est considéré comme XSS et filtré par les navigateurs récents. De plus, implique de faire de l'AJAX, pas forcément à la portée de tout le monde !
illégal -> à moins que le contenu du site soit sous une licence libre, la propriété intellectuelle s'applique.

Mais l'idée était sympa : l'intégration directe dans le site est sûrement plus user friendly qu'une redirection...
0
Rec
 
Merci pour l'idée Nabla's mais je vais pour le moment m'en tenir là ! J'ai encore quelques soucis à résoudre :P
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Si tu as d'autres question sur cette redirection, n'hésite pas.

Si tes soucis n'ont pas de rapport avec ce sujet, mets en résolu et ouvres-en un autre.

A pluche.
0