données formulaire

wolom
Invité n'ayant pas de compte PHPfrance

14 sept. 2005, 13:53

Bonjour,
j'ai lu que si j'envoie des données formulaires, je peux les récupérer avec $_POST.
j'ai éssayé de faire une boucle pour récupérer les données de $_POST dans une autre page, comme ceci:
for ($i=0; $i<=count($_POST); $i++) {
echo $_POST[$i] . "</br>";
}
et je reçois l'erreur
Notice: Undefined offset: 0 in c:\program files\easyphp1-8\www\admin\maj.php on line 6
Notice: Undefined offset: 1 in c:\program files\easyphp1-8\www\admin\maj.php on line 6
Notice: Undefined offset: 2 in c:\program files\easyphp1-8\www\admin\maj.php on line 6
La ligne incriminée est celle en gras...je pensais que $_POST était un tableau? Est-il possible de récupérer automatiquement les données sous forme de tableau(sans être obligé d'en créer un)?
Merci d'avance!

Mammouth du PHP | 1029 Messages

14 sept. 2005, 13:58

montre nous ce que tu essayes t'envoyer!
L'expérience est la somme de toutes nos erreurs.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 sept. 2005, 14:06

erreur de post... :roll:
Modifié en dernier par charabia le 14 sept. 2005, 14:20, modifié 2 fois.

Eléphant du PHP | 124 Messages

14 sept. 2005, 14:14

Si j'ai bien compris la demande


foreach ($_POST as $value)
{
echo $value."<br>";
}

Invité
Invité n'ayant pas de compte PHPfrance

14 sept. 2005, 14:40

pour répondre à Maitrepylos, mon formulaire ne contient que des cases à cocher, avec nom et valeur.
pour gwendal, la solution fonctionne. mais quand je fais echo count($_POST), ça m'affiche 2 items au lieu des 5 prévus.
est-ce qu'un formulaire peut envoyer un tableau de données prêt à être exploité?

Mammouth du PHP | 1029 Messages

14 sept. 2005, 14:52

est-ce que le nom de t'es cases à cocher sont de type
name="nomduchamp[]"
?
L'expérience est la somme de toutes nos erreurs.

Invité
Invité n'ayant pas de compte PHPfrance

14 sept. 2005, 14:56

non, mais j'ai tesé avec et ça change rien

Mammouth du PHP | 1029 Messages

14 sept. 2005, 15:48

même comme ceci
foreach ($_POST[nomduchamp] as $value)
{
echo $value."<br>";
}
L'expérience est la somme de toutes nos erreurs.

Invité
Invité n'ayant pas de compte PHPfrance

14 sept. 2005, 23:24

c'est vraiment étrange. si je fais
echo $_POST['nomduchamp']
j'obtiens la valeur souhaitée. Par contre, impossible de parcourir $_POST avec une boucle, j'obtiens une erreur.

Eléphant du PHP | 164 Messages

15 sept. 2005, 00:05

parcke ce n'est pa possible!

$_POST est un tableau associatif et toi tu essaye d'extraire les données de ce tableau par l'indice forcément ca risque pas de fonctionner:
je vais être plus clair:
pour $i = 1 ca donne : echo $_POST[1]

pour POST le 1 signifie le nom du champs forcément ta pas de champs nommé un...... tu comprend?

Invité
Invité n'ayant pas de compte PHPfrance

15 sept. 2005, 01:30

oui, je vois à peu près...mais comment faire pour extraire les valeurs sans avoir à les appeler une par une?je suppose que c'est foreach?

Invité
Invité n'ayant pas de compte PHPfrance

21 sept. 2005, 15:26

Pour extraire toute les données d'un POST, ceci fonctionne :

foreach($_POST as $key=>$val) {
echo $key.'=>'.$val.'<p>';

Il va en fait parcourir le tableau POST et t'afficher l'indice ainsi que la valeur correspondante ;)

Sias
Invité n'ayant pas de compte PHPfrance

21 sept. 2005, 15:29

Pour extraire toute les données d'un POST, ceci fonctionne :

foreach($_POST as $key=>$val) {
echo $key.'=>'.$val.'<p>';

Il va en fait parcourir le tableau POST et t'afficher l'indice ainsi que la valeur correspondante ;)

Fred