[PHP]Formulaire - utilisation de $_POST

Laaris Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   -  
 iredis -
Bonjour,

Ma question est simple, est-ce que ce genre chose est possible? :


<form action="detail.php?PAGE=$_POST['nomPage'].php" method="post">                                                 
<p>  
<input type="text" name="nomPage" value=""/>  <input type="submit" value="Go!"/>  
</p>  
</form>


Peut-on utiliser le input name dans le lien de la balise form?

Sinon comment obtenir quelque chose de similaire?

Merci d'avance.


14 réponses

iredis
 
Ben oui et non cela dépend de la façon dont à été envoyé la variable mais si tu l'as bien envoyer de maniere POST il n'y a aucune raison que cela ne fonctionne pas ;)
0
iredis
 
Juste pour précision ton form est dans les balise PHP ou non car sinon tu devra ecrire comme ça :

<form action="detail.php?PAGE=<?php $_POST['nomPage'] ?>.php" method="post">
<p>
<input type="text" name="nomPage" value=""/> <input type="submit" value="Go!"/>
</p>
</form>
0
Laaris Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   73
 
J'ai essayé avec les balises PHP mais ça ne fonctionne pas non plus.

Je vais essayer d'expliquer en français ce que je veux faire:

J'ai une zone texte ('nomPage') dans laquelle je saisis une référence, exemple 'AAA', et en cliquant sur le bouton du formulaire ça va ouvrir la page detail.php?PAGE=AAA.

Est-ce faisable? J'ai l'impression que ce que j'ai essayé au-dessus ne peut pas marcher parce que j'essaie de récupérer le contenu du $_POST avant de l'envoyer.
0
iredis
 
Ok je comprends mieux dans ton cas effectivement ce n'est pas du tout possible seul si la variable à été déjà envoyé en POST avant le chargement de ta page rendra valide ton script.

Pour faire ce que tu veux faire il faut que tu fasse appel à du Javascript qui recupere via une fonction que tu établie toi même directement les variable des champ de text ou autre champ form.

Voila ton script pour ton cas je penses que cela te conviendra ... ;)

<script type="text/javascript">
function linking() {
//document.write(this.nomPage.value);
document.location.href='detail.php?PAGE='+this.nomPage.value+'.php';
}

// Plus besoin de balise form qui poserai problème donc supprime tout et met comme je te le présente.

<input type="text" name="nomPage" value=""> <input type="submit" value="Go!" onclick="linking()">

Voila j'espere que cela aura répondu à ta question. A bientôt.
0

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

Posez votre question
Laaris Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   73
 
Merci.

Par contre en javascript je n'y connais absolument rien. Donc j'ai copié collé la fonction et le bout de code et j'ai testé.
Et il ne se passe rien quand je clique sur le bouton.
0
iredis
 
Désolé je t'ai oublié la balise de fin ^^ cela devrai fonctionné là


<script type="text/javascript">
function linking() {
document.location.href='detail.php?PAGE='+this.nomPage.value+'.php';
}
// balise de fin
</script>

<input type="text" name="nomPage" value=""> <input type="submit" value="Go!" onclick="linking()">
0
iredis
 
Amuse toi bien
0
Laaris Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   73
 
Non non j'avais rajouté la balise, le problème ne vient pas de là. :-?

Y'a pas un truc à faire, genre une option à activer sur le navigateur pour que le javascript fonctionne?
0
iredis
 
Ben théoriquement non tous les navigateurs prennent en charge ça d origine pratiquement tous les sites web utilise du javascript.

Je viens de tester mon script il fonctionne bien chez moi pourtant.
0
Laaris Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   73
 
C'est +this.nomPage.value+ qui ne fonctionne pas, quand je mets un lien en dur dans la fonction linking et que je clique sur le bouton, ça ouvre bien la page attendue.


Sinon, dans
document.location.href='detail.php?PAGE='+this.nomPage.value+'.php';
il me semble que le .php de la fin est en trop, je l'ai supprimé.
0
iredis
 
Tu as ta page en ligne ? où je pourrai voir ?
0
iredis
 
va ici

http://iredis.free.fr/Index.php

regarde la source tout fonctionne.
Vérifis que le code est le même.
0
Laaris Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   73
 
Arf, ton script ne marche pas chez moi. :-?

Du coup on m'a proposé autre chose sensé donné le même résultat et cette fois ça fonctionne:

function linking(page) {
document.location.href='detail.php?PAGE='+page.value;
} 

<input type="text" name="nomPage" id="nomPage" > <input type="button" value="Go!" onclick="linking(document.getElementById('nomPage') )"> 


Mais si tu as une idée pourquoi le script précédent fonctionne chez toi et pas chez moi je suis preneur.

Merci pour ton aide.
0
iredis
 
Alors j'ai peut etre réponse ce serai a cause d'un réglage dans ton IE ou alors ton antivirus qui bloquerai.

Concernant ton script il est bien sauf que tu est limité au variable que tu déclare dans ta fonction.

La mienne te permet de recuperer les variables directement à la source sans être obligé de le déclaré.

Essaye de voir si ton navigateur ne refuse une partie de javascript ou que ton antivirus ne bloque pas.

Essaye on verra bien mais bon le script que tu as fonctionne donc bon ...
Cependant cela peut etre utile de savoir pourquoi tu ne peut pas voir ce genre de script.
0