[Debutant] Tableau et $_POST
Le
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@></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 ;)
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@></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 ;)

Poser une question


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 :
Et ca ira tout de suite bcp mieux :)
Armel.
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" news:40b15d2c$0$6096$
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.
<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
PHP Page : Script PHP3 Gratuits (Forum, Gestionnaires BDD, etc..)
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 @