Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Debutant] Tableau et $_POST

7 réponses
Avatar
Pierre Kiroul
Bonjour, je suis entrain de faire un petit exercice en PHP mais je n'arrive
pas à récupérer les données de deux tableaux passés via $_POST.

Voici le problème :

Depuis le fichier contenant le formulaire :

<form action="ecrific.php" method="get">
URL : <input type=text name="Tableau[URL]" size="60">
<br>
Description : <TextArea name="Tableau[Description]" rows=5
cols=40></TextArea>
<br>
<input type=submit name="submit" value="Envoyez !">
</form>


Dans le fichier ecrific.php :

<?

$Tableau[URL] = $_POST['Tableau[URL]'];
$Tableau[Description] = $_POST['Tableau[Description]'];

$motif="(http://)?([^[:space:]]+)([[:alnum:].,-_?/&=])";
if (eregi($motif, $Tableau[URL]))
{
$remplacement="<a href="http://\2\3" target="_new">\2\3</a>";
$Tableau[URL] = eregi_replace($motif, $remplacement, $Tableau[URL]);
$Appel = EcrireFichier($Tableau[URL], $Tableau[Description]);
if ($Appel)
{
print("Votre envoi -- $Tableau[URL] -- à été bien reçu.<br>n");
}
else
{
print("Votre envoi n'a pas pu être traité à cause d'une erreur
système.<br>n");
}
}
else
{
print("Tapez une adresse Web valide, svp. n");
}

?>

Je tiens à préciser que j'ai une des version les plus récente de PHP.

Merci par avance à tous ceux qui pourront m'aider ;)

7 réponses

Avatar
Armel FAUVEAU
Bonjour,

Bonjour, je suis entrain de faire un petit exercice en PHP mais je
n'arrive

pas à récupérer les données de deux tableaux passés via $_POST.

Voici le problème :

Depuis le fichier contenant le formulaire :

<form action="ecrific.php" method="get">


Stop ! Le problème vient d'ici > ^^^ <

Vous utilisez la méthode GET pour soumettre votre formulaire. Et non la
méthode POST. Donc, très logiquement, $_POST est vide (par contre $_GET doit
contenir ce que vous cherchez)...

Bref, faites plutôt :

<form action="ecrific.php" method="POST">

Et ca ira tout de suite bcp mieux :)

Armel.

Avatar
Pierre Kiroul
Je l'ai fait mais ça ne veut toujours pas fonctionner...

En fait voici ce que j'obtiens en réponse :

Notice: Undefined index: Tableau[URL] in c:program
fileseasyphp1-7wwwquickstartchap10ecrific.php on line 35

Notice: Undefined index: Tableau[Description] in c:program
fileseasyphp1-7wwwquickstartchap10ecrific.php on line 36

Notice: Undefined variable: Tableau in c:program
fileseasyphp1-7wwwquickstartchap10ecrific.php on line 39
Tapez une adresse Web valide, svp.


"Armel FAUVEAU" a écrit dans le message de
news:40b15d2c$0$6096$
Bonjour,

Bonjour, je suis entrain de faire un petit exercice en PHP mais je
n'arrive

pas à récupérer les données de deux tableaux passés via $_POST.

Voici le problème :

Depuis le fichier contenant le formulaire :

<form action="ecrific.php" method="get">


Stop ! Le problème vient d'ici > ^^^ <

Vous utilisez la méthode GET pour soumettre votre formulaire. Et non la
méthode POST. Donc, très logiquement, $_POST est vide (par contre $_GET
doit

contenir ce que vous cherchez)...

Bref, faites plutôt :

<form action="ecrific.php" method="POST">

Et ca ira tout de suite bcp mieux :)

Armel.



Avatar
Armel FAUVEAU
Bonjour,

Je l'ai fait mais ça ne veut toujours pas fonctionner...

En fait voici ce que j'obtiens en réponse :

Notice: Undefined index: Tableau[URL] in c:program
fileseasyphp1-7wwwquickstartchap10ecrific.php on line 35


Pas étonnant vu la logique de nommage que tu utilises.
Tu re prends les pieds dans les tableaux associatifs et autres.
Histoire de voir comment tout cela fonctionne, remplace ton script
ecrific.php par celui ci dessous :

<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
echo $_POST['Tableau']['URL'];
echo "<br/>";
echo $_POST['Tableau']['Description'];
?>

Et observe...

M'enfin, à la base, appeler ses champs de formulaire name="Tableau[URL]" ou
name="Tableau[Description]", c'est vraiment aimer se compliquer la vie. On
voit des trucs parfois :)

Pense simple, fais simple et tout ira bcp mieux. Sans oublier une lecture
efficace de la doc et/ou d'un bouquin. Ca n'est jamais inutile.

Armel.

Avatar
Stephane Pineau
Le 24 May 2004 02:26:57 GMT, Armel FAUVEAU
écrivait:

Vous utilisez la méthode GET pour soumettre votre formulaire. Et non la
méthode POST. Donc, très logiquement, $_POST est vide (par contre $_GET doit
contenir ce que vous cherchez)...

<form action="ecrific.php" method="POST">

Et ca ira tout de suite bcp mieux :)


<TROLL>
Et en allant lire $_REQUEST plutôt que $_POST ou $_GET ce genre d'étourderie
n'arrive pas...! Bon alors John tu dormais ?? ;-)
<TROLL />

Cdlt,
Stéph'

--
AcroDict : Dictionnaire francophone des acronymes informatiques
<URL:http://www.teaser.fr/~spineau/acrodict/index.htm>
PHP Page : Script PHP3 Gratuits (Forum, Gestionnaires BDD, etc..)
<URL:http://steph.pineau.free.fr/php/index.php>

Avatar
CrazyCat
Stephane Pineau wrote:

<TROLL>
Et en allant lire $_REQUEST plutôt que $_POST ou $_GET ce genre d'étourderie
n'arrive pas...! Bon alors John tu dormais ?? ;-)
<TROLL />


Sauf que l'avantage de lire les $_POST et les $_GET nommément permet
d'éviter certains trous de sécurité.

Comment ça je relance un troll?


--
Tout sur les eggdrops
http://www.c-p-f.org
ML @

Avatar
John Gallet
<TROLL>
Et en allant lire $_REQUEST plutôt que $_POST ou $_GET ce genre d'étourderie
n'arrive pas...! Bon alors John tu dormais ?? ;-)
<TROLL />



:-) Non j'avais pas d'accès au net.

Et entre nous soit dit, Armel n'a pas de leçons à recevoir de ma part,
bien au contraire.

Sauf que l'avantage de lire les $_POST et les $_GET nommément permet
d'éviter certains trous de sécurité.
Comment ça je relance un troll?


Et un bien dodu avec ça :-)

--
Don't feed the Trolls


Avatar
Thibaut Allender

Et un bien dodu avec ça :-)


à table !

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org *new version*