[PHP]Formulaire - utilisation de $_POST

Fermé
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 - Modifié par Laaris le 25/05/2010 à 23:18
 iredis - 26 mai 2010 à 22:53
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.


A voir également:

14 réponses

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
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 mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
Modifié par Laaris le 26/05/2010 à 00:31
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
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 mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
26 mai 2010 à 08:23
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
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
Amuse toi bien
0
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
26 mai 2010 à 13:30
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
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 mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
26 mai 2010 à 21:23
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
Tu as ta page en ligne ? où je pourrai voir ?
0
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 mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
26 mai 2010 à 22:34
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
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