Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2011, 15h04   #1
Invité de passage
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 30
Points : 4
Points : 4
Par défaut array dans input

Bonjour,

je souhaite envoyer une valeur ainsi en PHP :
$ListeOperat = array("Operateur3" => "aa","Operateur2" => "ab","Operateur1" => "ac");
echo "<input type='hidden' value='".$ListeOperat."' name='data' />";

et souhaite la récupérer ainsi :
echo $_POST[data][ListeOperat][Operateur1];
echo $_POST[data][ListeOperat][Operateur2];
echo $_POST[data][ListeOperat][Operateur3];
Évidemment, ça ne marche pas xD malgré mes nombreuses recherche, je trouve pas de solution. une suggestion svp?
Merci!
zimeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 15h06   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par zimeau Voir le message
Bonjour,

je souhaite envoyer une valeur ainsi en PHP :
$ListeOperat = array("Operateur3" => "aa","Operateur2" => "ab","Operateur1" => "ac");
echo "<input type='hidden' value='".$ListeOperat."' name='data' />";

et souhaite la récupérer ainsi :
echo $_POST[data][ListeOperat][Operateur1];
echo $_POST[data][ListeOperat][Operateur2];
echo $_POST[data][ListeOperat][Operateur3];
Évidemment, ça ne marche pas xD malgré mes nombreuses recherche, je trouve pas de solution. une suggestion svp?
Merci!
1er commentaire dans la doc
http://php.net/manual/fr/reserved.variables.post.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h23   #3
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 456
Points : 639
Points : 639
Tu pourra maître ton array comme valeur serializer dans l'input puis dans la recuperation tu le deserialize
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/01/2011, 16h56   #4
Invité de passage
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 30
Points : 4
Points : 4
Citation:
Envoyé par stealth35 Voir le message
c'est presque ça, sauf qu'ici, il met une valeur dans l'input. moi je voudrais y mettre le tableau entier, pas seulement l'une de ses valeurs.
Citation:
Envoyé par m4riachi
Tu pourra maître ton array comme valeur serializer dans l'input puis dans la récupération tu le deserialize
j'ai essayé sans succès aussi. je post ce code des que j'ai remis la main dessus, des fois que ce ne soit qu'une petite erreur ^^
zimeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h57   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par zimeau Voir le message
c'est presque ça, sauf qu'ici, il met une valeur dans l'input. moi je voudrais y mettre le tableau entier, pas seulement l'une de ses valeurs.
il faut faire plusieurs input

EDIT : comme ca
Code :
1
2
3
 
foreach($ListeOperat as $name => $value)
printf('<input type="hidden" name="data[ListeOperat][%s]" value="%s" />', $name, $value);
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h27   #6
Invité de passage
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 30
Points : 4
Points : 4
voila, tentative avec le serialize
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
$ListeOperatUnseri = unserialize($_POST[$ListeOperatSeri]);
echo $ListeOperatUnseri[ListeOperat][Operateur1]."<br>";
echo $ListeOperatUnseri[ListeOperat][Operateur2]."<br>";
echo $ListeOperatUnseri[ListeOperat][Operateur3]."<br>";
 
echo "<form action='test.php' method='post'>";
$ListeOperat = array("Operateur3" => "aa","Operateur2" => "ab","Operateur1" => "ac");
$ListeOperatSeri = serialize($ListeOperat);
echo "<input type='hidden' name='".$ListeOperatSeri."' />";
echo "<input type='submit' value='envoyer' name='Operat' /></form>";
echo "</form>";
le serialize fonctionne car il me renvoie "a:3:{s:10:"Operateur3";s:2:"aa";s:10:"Operateur2";s:2:"ab";s:10:"Operateur1";s:2:"ac";}"
mais le unserialize ne fait pas effet :s
Citation:
Envoyé par stealth35 Voir le message
il faut faire plusieurs input
EDIT : comme ca
Code :
1
2
3
 
foreach($ListeOperat as $name => $value)
printf('<input type="hidden" name="data[ListeOperat][%s]" value="%s" />', $name, $value);
merci stealth35, j'essaye ça.
zimeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h50   #7
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 456
Points : 639
Points : 639
Je crois que tu dois maitre la valeur dans l'attribut Value pas Name
Code :
1
2
 
echo "<input type='hidden' name='nom' value='".$ListeOperatSeri."' />";
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/01/2011, 17h53   #8
Invité de passage
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 30
Points : 4
Points : 4
finalement, j'ai réussis avec le serialize... celui ci ajoutais des antislashs une fois envoyé. voici le code qui marche :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$ListeOperatSeriSansSlash = stripslashes($_POST['data']);
echo $ListeOperatSeriSansSlash."<br>";
$ListeOperatUnseri = unserialize($ListeOperatSeriSansSlash);
echo $ListeOperatUnseri['Operateur1']."<br>";
echo $ListeOperatUnseri['Operateur2']."<br>";
echo $ListeOperatUnseri['Operateur3']."<br>";
 
echo "<form action='test.php' method='post'>";
$ListeOperat = array("Operateur3" => "aa","Operateur2" => "ab","Operateur1" => "ac");
$ListeOperatSeri = serialize($ListeOperat);
echo $ListeOperatSeri;
echo "<input type='hidden' value='".$ListeOperatSeri."' name='data' />";
echo "<input type='submit' value='envoyer' name='Operat' /></form>";
Merci de votre aide!
zimeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h55   #9
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 456
Points : 639
Points : 639
Code :
1
2
3
4
5
6
7
 
echo "<form action='test.php' method='post'>";
$ListeOperat = array("Operateur3" => "aa","Operateur2" => "ab","Operateur1" => "ac");
$ListeOperatSeri = serialize($ListeOperat);
echo $ListeOperatSeri;
echo "<input type='hidden' value='".$ListeOperatSeri."' name='array' />"
echo "<input type='submit' value='envoyer' name='Operat' /></form>";
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h59   #10
Invité de passage
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 30
Points : 4
Points : 4
merci ^^
zimeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 18h47   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
fait pas de serialize c'est galere, ca marchais pas comme je t'ai dis ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h50.


 
 
 
 
Partenaires

Hébergement Web