Page 1 sur 1
recuperation de variable de forumlaire
Posté : 02 mars 2006, 16:40
par narkotekboss
bonjour,
voila jai creer un formulaire ainsi qu'une page de resultats affichant la date et les resultats des variables taper dans les champs du form et en fait jai un probleme. (cest pour que je suis la lol)
Apres lenvoi du form. la page php qui s'affiche inque des erreurs a chaque ligne de recuperation de variables du script php et ecrit en anglais a ces lignes la, variables indefinis.
est ce que vous avez une idee de la question?
Jutilise easy php mais je ne connais pas la version, la derniere je pense...
merci davance
Posté : 02 mars 2006, 16:48
par Hermès
Met nous le code de ton formulaire, de la page de réception ainsi que les messages d'erreur (en précisant à quelles lignes correspond chaque message d'erreur).
le script
Posté : 02 mars 2006, 16:48
par narkotekboss
formulaire :
Code : Tout sélectionner
<form action="enrcmd-3caddy1.php" method=post>
<table border=0>
<tr bgcolor=#cccccc>
<td width=150>Références</td>
<td width=15>Nombre</td>
</tr>
<tr>
<td>Bob Marley - Best of </td>
<td align=center><input name="bobnb" type="text" id="bobnb" size=3 maxlength=3></td>
</tr>
<tr>
<td>Sniper</td>
<td align=center><input name="snipnb" type="text" id="snipnb" size=3 maxlength=3></td>
</tr>
<tr>
<td>Nirvana</td>
<td align=center><input name="nirvnb" type="text" id="nirvnb" size=3 maxlength=3></td>
</tr>
<tr>
<td height="37" colspan=2 align=center><input type=submit value="Commander"></td>
</tr>
</table>
</form>
php:
<?
echo "<p>Commande enregistrée à ";
echo date("H:i, jS F");
echo "<br>";
echo "<p>Détails de votre caddie :";
echo "<br>";
echo $bobnb." best of de Bob Marley.<br>";
echo $snipnb." disque(s) de Sniper-Du rire aux larmes).<br>";
echo $nirvnb." dique(s) de Nirvana-Come as you are.<br>";
?>
test script
Posté : 02 mars 2006, 16:50
par narkotekboss
vous pouyvez tester le script pour voir si le pb se produit sur votre machine...
merci
Posté : 02 mars 2006, 16:54
par Hermès
Remplace
echo $bobnb." best of de Bob Marley.<br>";
echo $snipnb." disque(s) de Sniper-Du rire aux larmes).<br>";
echo $nirvnb." dique(s) de Nirvana-Come as you are.<br>";
par
echo $_POST["bobnb"]." best of de Bob Marley.<br>";
echo $_POST["snipnb"]." disque(s) de Sniper-Du rire aux larmes).<br>";
echo $_POST["nirvnb"]." dique(s) de Nirvana-Come as you are.<br>";
Les données que tu reçois d'un formulaire (quand la méthode est POST) se trouvent dans le tableau $_POST
erreurs
Posté : 02 mars 2006, 16:55
par narkotekboss
message derreurs ci dessous:
Code : Tout sélectionner
Notice: Undefined variable: bobnb in c:\program files\easyphp1-8\www\broken-c\test\campuspress\chapter1\enrcmd-3caddy1-orderformg1.php on line 16 //ligne16 correspond a la ligne de recuperation de variable bobnb sur script php.
best of de Bob Marley.
Notice: Undefined variable: snipnb in c:\program files\easyphp1-8\www\broken-c\test\campuspress\chapter1\enrcmd-3caddy1-orderformg1.php on line 17 //ligne recup. variable snipnb sur script php.
disque(s) de Sniper-Du rire aux larmes).
Notice: Undefined variable: nirvnb in c:\program files\easyphp1-8\www\broken-c\test\campuspress\chapter1\enrcmd-3caddy1-orderformg1.php on line 18 //correspond a ligne de la variable nirv.
dique(s) de Nirvana-Come as you are.
recuperation de variable en tableau post
Posté : 02 mars 2006, 16:57
par narkotekboss
tu veut dire que les variables sont recuperes sous forme dun tableau qui saffiche automatiquement??? jai pas trop bien compris? enfin c ce que jai compris sans trop me prendre la tete.
Posté : 02 mars 2006, 17:06
par Hermès
Tous les champs de ton formulaire ont un attribut "name" comme
Code : Tout sélectionner
<input name="bobnb" type="text" id="bobnb" size=3 maxlength=3>
Ce champ sert à identifier la données qui va être écrite dedans.
La page qui reçoit les résultats du formulaire aura un tableau $_POST (déjà déclaré dès le début) qui contient toutes les données passées par le formulaire.
Et pour accéder à ces données il suffit juste de faire $_POST["bobnb"] (vu qu'ici name="bobnb").
Donc après tu fais ce que tu veux de ces données, si on reprend ton code ça sera donc
<?
echo "<p>Commande enregistrée à ";
echo date("H:i, jS F");
echo "<br>";
echo "<p>Détails de votre caddie :";
echo "<br>";
echo $_POST["bobnb"]." best of de Bob Marley.<br>";
echo $_POST["snipnb"]." disque(s) de Sniper-Du rire aux larmes).<br>";
echo $_POST["nirvnb"]." dique(s) de Nirvana-Come as you are.<br>";
?>
Posté : 02 mars 2006, 17:37
par narkotekboss
ok et puis merci car ca marche mais je comprends toujours pas pkoi le metchode que je presenter et qui ne fonctionner pas bah justement pkoi elle ne fonctionne pas (celle là..)(?).... je sais pas
Posté : 02 mars 2006, 17:40
par charabia
Pour récupérer des variables d'un formulaire, il faut que tu utilises les $_POST['var']. Si tu tentes de récupérer avec juste $var ça ne marchera plus avec les nouvelles versions de easyphp et wamp.
Posté : 02 mars 2006, 17:54
par Hermès
Ca marchait avant ? je pensais que c'était faisable qu'avec les données passées en GET.
Ta méthode utilise des variables non-déclarées ($bobnb). Donc à moins que la configuration de php fasse qu'elles soient déclarées automatiquement (ce qui semblerait être le cas selon charabia), il faut que tu les initialises toi-même, par exemple en faisant $bobnb = $_POST["bobnb"];
Une autre solution, mettre
extract($_POST);
au début, ça va automatiquement créer une variable pour chaque paramètre de $_POST (donc ici ça va créer $bobnb, $nirvnb et $snipnb)