recuperation de variable de forumlaire

Petit nouveau ! | 8 Messages

02 mars 2006, 16:40

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

Eléphant du PHP | 312 Messages

02 mars 2006, 16:48

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).

Petit nouveau ! | 8 Messages

02 mars 2006, 16:48

formulaire :

Code : Tout sélectionner

<form action="enrcmd-3caddy1.php" method=post> <table border=0> <tr bgcolor=#cccccc> <td width=150>R&eacute;f&eacute;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>";
?>

Petit nouveau ! | 8 Messages

02 mars 2006, 16:50

vous pouyvez tester le script pour voir si le pb se produit sur votre machine...
merci

Eléphant du PHP | 312 Messages

02 mars 2006, 16:54

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

Petit nouveau ! | 8 Messages

02 mars 2006, 16:55

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.

Petit nouveau ! | 8 Messages

02 mars 2006, 16:57

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.

Eléphant du PHP | 312 Messages

02 mars 2006, 17:06

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>";
?>

Petit nouveau ! | 8 Messages

02 mars 2006, 17:37

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 17:40

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.

Eléphant du PHP | 312 Messages

02 mars 2006, 17:54

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)