[PHP] pb de manip avec la var d'un form

Fermé
jonjonoo Messages postés 4 Date d'inscription samedi 15 juillet 2006 Statut Membre Dernière intervention 13 mars 2007 - 15 juil. 2006 à 15:46
Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 - 18 juil. 2006 à 16:02
Bonjour,
Je suis débutant en PHP et là je bloque !
J'ai une page principale où l'utilisateur rentre juste son prénom dans un formulaire (par exemple denis) quand il clique sur submit je souaite qu'il aille directement sur la page //denis.php et si c'est thierry alors ce sera //thierry.php. (J'en ai 10 comme ça)
Donc voici un premier essai qui fut un énorme échec :

<p>Veuillez entrer votre prenom :</p>
<form action="$nom.php" method="post">
<p>

<input type="text" name="nom" />

<input type="submit" value="Valider" />

</p>
</form>

Ensuite j'ai commencé à essayé de faire du bidouillage : le faire en 2 étapes, récupérer une variable nom, y ajouter l'extension php, faire de la comparaison pour créer une nouvelle variable avec l'adresse...
Donc si vous pouvez m'aider ça serait sympa.

2 réponses

grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
18 juil. 2006 à 14:27
Salut,

C'est normal que ton exemple ci-dessus ne fonctionne pas puisque $nom n'est pas encore connu du serveur PHP.

Ce que je ferais à ta place, c'est que mon script appellerait toujours le meme script (call_page.php par exemple) dans lequel il récupérerait la variable $nom et à partir duquel je ferai un redirect (dans les headers par exemple).

Michael.
0
Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 64
18 juil. 2006 à 16:02
J'ai encore autre chose ... Déja il faut savoir que l'adresse de traitement de ton formulaire doit être fixe !

Donc essaie ça :

<FORM METHOD="POST" ACTION="Traitement.php">
<INPUT TYPE="Texte" NAME="nom">
<INPUT TYPE="submit" VALUE="Valider">
</FORM>

et dans Traitement.php

<?
include($_POST['nom'].".php");
?>

ou alors la même chose avec header() comme te l'a suggéré grofwa.
0