[php-formulaire]

Dream -  
Dreeeeeam Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous.
Savez vous pourquoi lorsque je copie colle ça :

<?php
if ($_POST['action'] == 'submitted') {
print '<pre>';

print_r($_POST);
print '<a href="'. $_SERVER['PHP_SELF'] .'">Essayez à nouveau</a>';

print '</pre>';
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Name: <input type="text" name="personal[name]"><br>
Email: <input type="text" name="personal[email]"><br>
Beer: <br>
<select multiple name="vin[]">
<option value="bordeaux">bordeaux</option>
<option value="beaujolais">beaujolais</option>
<option value="loire">loire</option>
</select><br>
<input type="hidden" name="action" value="submitted">
<input type="submit" name="submit" value="submit me!">
</form>
<?php
}
?>

trouvé ici :
http://www.manuelphp.com/php/language.variables.external.form.php
(et sur plein d'autre site), j'obtient :
Notice: Undefined index: action in c:\program files\easyphp1-8\www\test.php on line 3

Pourquoi sur tout les sites on nous proposerait un code qui pose une erreur. Je cherche à savoir si l'erreur ce trouve chez moi, ou si l'erreur que j'obtien est normale.

3 réponses

karine
 
T'as pas oublié de mettre ça avant ?

<form action="foo.php" method="post">
    Name:  <input type="text" name="username"><br>
    Email: <input type="text" name="email"><br>
    <input type="submit" name="submit" value="Submit me!">
</form>


Je ne sais pas quel est ton niveau donc ça pourrait etre ça.
0
fras34 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   36
 
Bonjour,

Ce code fontionne chez moi sans pb.

Conf : pentium 3
Win2000
php5.0.0
Apache 1.3.33
firefox 1.0.2


essayes :

<?php
if ($_POST['submit'] != '') {
echo '<pre>';

print_r($_POST);
echo '<a href="', $_SERVER['PHP_SELF'] ,'">Essayez à nouveau</a>';

echo '</pre>';
} else { ?>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
Name: <input type="text" name="personal[name]"><br>
Email: <input type="text" name="personal[email]"><br>
Beer: <br>
<select multiple name="vin[]">
<option value="bordeaux">bordeaux</option>
<option value="beaujolais">beaujolais</option>
<option value="loire">loire</option>
</select><br>
<input type="submit" name="submit" value="submit me!">
</form>
<? }?>
0
Dreeeeeam Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Non je crois pas, puisque :

<form action="foo.php" method="post">
Name: <input type="text" name="username"><br>
Email: <input type="text" name="email"><br>
<input type="submit" name="submit" value="Submit me!">
</form>

est déjà compris dans le script que j'ai coller dans mon premier message.
En fait je trouve ça normale qu'il y'est une erreur puisque lorsque on test la condition :
if ($_POST['action'] == 'submitted')
$_POST['action'] n'est pas encore défini.
J'ai en fait le même type de problème pour mon script perso et je cherche une métode efficace en php, qui ne plante pas, pour récupérer les données d'un formulaire.
0