Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1683 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer des $_POST dont on ne connaît pas le nom ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer des $_POST dont on ne connaît pas le nom ?

n°1784370
pouzy
Ne signe pas d'autographes..
Posté le 09-09-2008 à 12:15:21  profilanswer
 

Bonjour tout le monde !  
 
J'ai un petit souci.  
 
En fait, je veux faire une sorte de panier d'achat.  
 
Par exemple, j'ai :  
 

Citation :

Livre : un select pour choisir la quantité
DVD : un select
K7 : un select
 
Un submit pour valider.


 
Le truc étant que j'ai une liste indéfinie de fichiers, que je liste par id (qui ne se suivent pas forcément).  
 
Je voudrais donc savoir comment faire pour récupérer tous mes posts ?  
 
J'ai testé ceci, avec des hidden pour récupérer l'id des objets.
 

Code :
  1. $qtte = explode(',',$_POST['qtte']);
  2.     $idobjet = explode(',',$_POST['idobjet']);
  3.     $count = count($idobjet);
  4.     for($i=0;$i>$count;$i++)
  5.       {
  6.       echo $qtte[$i].' de '. $idobjet[$i];
  7.       }


 
En pensant que si tous les $_post avaient le même nom, ça me sortirait un beau tableau que je pourrais ensuite exploiter, mais que nenni, ca me donne les valeur des derniers !
 
Quelqu'un aurait une idée ? Merci !


---------------
Hello hello super jello
mood
Publicité
Posté le 09-09-2008 à 12:15:21  profilanswer
 

n°1784381
grosbin
OR die;
Posté le 09-09-2008 à 12:22:32  profilanswer
 

print_r($_POST) ? ^^ Essayes c'est génial !!!


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1784404
omega2
Posté le 09-09-2008 à 12:49:06  profilanswer
 

foreach est fait pour manipuler des tableaux sans connaitre les clé.
Sinon, print_r est extra si tu veux juste afficher tout ce qu'il contient avec les clés et le contenu.

n°1784413
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-09-2008 à 12:54:46  profilanswer
 

À mon avis ton truc est déjà super mal conçu dès le départ là...
 
Mais sans plus de détails...


---------------
Gamertag: CoteBlack YeLL
n°1784458
pouzy
Ne signe pas d'autographes..
Posté le 09-09-2008 à 14:07:36  profilanswer
 

Print_r déjà fait, ça me sort dans un Array les deux dernières valeurs, comme je l'ai dit plus haut.  
 
Si la chose est mal conçue, une idée pour une autre méthode ?  
 
Merci :hello:


---------------
Hello hello super jello
n°1784466
jedebute75
Posté le 09-09-2008 à 14:15:59  profilanswer
 

le formulaire ressemble à quoi ?

n°1784490
pouzy
Ne signe pas d'autographes..
Posté le 09-09-2008 à 15:03:30  profilanswer
 

Code :
  1. <form method="post" action="'.$page.'?acheter=ok">
  2.   $retour = mysql_query("SELECT * FROM machin" );
  3.   while ($donnees = mysql_fetch_array($retour))
  4.     {
  5. echo '<div align="center">'.$donnees['nom'].' ( '..$donnees['prix'].'euros )<br>
  6.   <select name="qtte">
  7.     <option>0</option>
  8.     <option>1</option>
  9.     <option>2</option>
  10.     <option>3</option>
  11.     <option>4</option>
  12.     <option>5</option>
  13.   </select>
  14.   <input type="hidden" name="idobjet" value="<? echo $donnees['id']; ?>">
  15. </div>';
  16.     }
  17. echo '<input type="submit" calue="Go"></form>';


 
En gros, en très très gros. Si y a des fautes de syntaxe c'est parce que j'ai raccourci le truc a fond, elles y sont pas dans le code :) Voilou, si quelqu'un a une idée ! Merci :)


Message édité par pouzy le 09-09-2008 à 15:04:11

---------------
Hello hello super jello
n°1784501
omega2
Posté le 09-09-2008 à 15:09:37  profilanswer
 

Je viens de réaliser un truc : tu ne stockes nulle part les données envoyé par le navigateur.
Chaque page est, par nature, indépendante des autres et avec des variables qui ne sont pas celle des autres. Par conséquent le $_POST du second appel ne contient pas les données du premier appel.
 
La seule variable qu'on retrouve d'une page à l'autre, quand on à affaire au même visiteur, est la variable de session : $_SESSION. Si tu veux garder des données tout au long de la visite d'un internaute, c'est là dedans qu'il faut que tu les stockes.
Si tu veux les garder encore plus longtemps alors il faudra les sauvegarder quelque part : fichier, base de donnée, ...

n°1784516
pouzy
Ne signe pas d'autographes..
Posté le 09-09-2008 à 15:21:33  profilanswer
 

Coucou,  
 
Oui je sais pour les Sessions... Mais je ne vois pas trop le rapport ? Il y a un seul appel à une fonction $POST ici.  
 
Merci quand même :)


---------------
Hello hello super jello
n°1784560
omega2
Posté le 09-09-2008 à 16:18:37  profilanswer
 

Est ce que par hasard dans ton formulaire tu as plusieurs élément qui ont exactement le même "name"?
Si c'est le cas alors il faut que le "name" se finisse par "[]". (Une aberration de php, seul langage web qui a besoin d'une telle bidouille pour mettre des éléments de formulaire dans un tableau plutôt que de créer automatique un tableau quand il y en a plusieurs qui ont le même "name" )


Message édité par omega2 le 09-09-2008 à 16:19:34
mood
Publicité
Posté le 09-09-2008 à 16:18:37  profilanswer
 

n°1784592
pouzy
Ne signe pas d'autographes..
Posté le 09-09-2008 à 17:01:46  profilanswer
 

Nickel, ça fonctionne ! Merci :D J'y aurais jamais pensé, deux petits crochets...


---------------
Hello hello super jello

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer des $_POST dont on ne connaît pas le nom ?

 

Sujets relatifs
Récupérer l'adresse MAC grace à un applet javarecuperer donnees xml en javascript
[RESOLU] Recuperer la derniere donnee en regroupant pour chaque ficheRécupérer nom des pcs
VBA: obligé d'ouvrir un fichier pour en récupérer des données?Je n'arrive pas à récupérer le textarea
Dois-je tout de même vérifier chaque $_POST ?[REPONDU]Récupérer les pièces jointes avec imap_fetchstructure()
recupérer donnes de de tables___
Plus de sujets relatifs à : Récupérer des $_POST dont on ne connaît pas le nom ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR