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

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire et sessions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire et sessions

n°1673127
jereln
..elle est pas belle la vie...
Posté le 18-01-2008 à 09:44:40  profilanswer
 

Bonjour à tous,
 
tout d'abord, je tiens à préciser que j'ai fait des recherches au sujet de mon problème, mais je n'ai rien trouvé pour le solutionner.
Je vous explique :
je dois faire une page de catalogue (avec un panier) avec quelques articles, en utilisant uniquement les sessions (pas de BDD). Chacun de ces articles a son propre bouton submit. J'ai déjà fait cette première page, mais je n'arrive pas à valider dans le panier. Comment faire pour enregistrer les données du submit correspondant à l'article choisi à l'aide des sessions ? comment faire aussi pour visualiser le panier?
 
J'espère avoir été claire.
Voici mon code du formulaire pour un article :

Code :
  1. <form method="POST" action="cart.php">
  2.                     <input type="hidden" name="code" value="ART001">
  3.     <input type="hidden" name="qte" value="1">
  4.     <input type="hidden" name="tva" value="19.6">
  5.     <input type="hidden" name="poids" value="0.300">
  6.                     <input type="submit" name="article1" value="ajouter"></form>


 
cart.php étant la page qui affiche le panier.
 
Merci pour votre aide


Message édité par jereln le 18-01-2008 à 09:45:36

---------------
N'oubliez pas : je suis débutante en php et access !!! Merci.
mood
Publicité
Posté le 18-01-2008 à 09:44:40  profilanswer
 

n°1673136
skeye
Posté le 18-01-2008 à 10:05:45  profilanswer
 

Bah tu utilises $_POST et $_SESSION dans ta page cart.php...quel est ton problème?


---------------
Can't buy what I want because it's free -
n°1673138
jereln
..elle est pas belle la vie...
Posté le 18-01-2008 à 10:18:33  profilanswer
 

C'est bien là le problème, je n'arrive pas à afficher mon panier, je ne sais pas comment utiliser $_POST et $_SESSION.
Au début de ma page cart.php j'ai :

Code :
  1. <?
  2. session_start();
  3. ?>


 
mais ensuite, je ne sais pas comment faire...

n°1673144
skeye
Posté le 18-01-2008 à 10:28:27  profilanswer
 

Bah ensuite il faut prendre ce que tu récupères dans $_POST et le mettre dans $_SESSION...
 
Doc sur $_POST: http://fr.php.net/manual/fr/reserv [...] ables.post
Doc sur les sessions : http://fr.php.net/manual/fr/ref.session.php


---------------
Can't buy what I want because it's free -
n°1673190
jereln
..elle est pas belle la vie...
Posté le 18-01-2008 à 11:25:02  profilanswer
 

merci, c'est bon, ça marche.
Maintenant, j'ai un autre problème.
Sur mon cart.php, pour pouvoir afficher tout le panier, j'ai fait le script suivant dans una table :

Code :
  1. <?php
  2. while (empty($_SESSION['panier'])){
  3. echo '<tr>';
  4. echo'<td class="Style11" width="16%">';
  5. echo $_POST['code'];
  6. echo '</td>';
  7. echo '<td class="Style11" width="16%">';
  8. echo $_POST['article'];
  9. echo '</td>';
  10. echo '<td class="Style11" width="16%">';
  11. echo $_POST['qte'];
  12. echo '</td>';
  13. echo '<td class="Style11" width="16%">';
  14. echo $_POST['prix'];
  15. echo '</td>';
  16. echo '<td class="Style11" width="16%">';
  17. echo '</td>';
  18. echo '<td class="Style11" width="16%">';
  19. echo '</td>';
  20. echo '</tr>';
  21. echo '</tr>';
  22. }
  23. ?>


 
Mais ça m'affiche à l'infini (!) l'article du panier.
 
D'où vient mon erreur ?

n°1673211
skeye
Posté le 18-01-2008 à 11:40:03  profilanswer
 

c'est ce que tu lui demandes.
Il n'y a rien dans $_SESSION['panier'] et tu lui demandes de boucler tant que c'est vide.


---------------
Can't buy what I want because it's free -
n°1673301
jereln
..elle est pas belle la vie...
Posté le 18-01-2008 à 13:18:51  profilanswer
 

ok, j'ai fait une erreur oups!
j'ai rajouté "!" devant empty. C'est bon?
 
par contre pour le $_SESSION['panier'], comment dois-je faire pour qu'il se remplisse avec le form? pourquoi rest t il vide lorsuqe je clique sur "ajouter" ?

n°1673305
skeye
Posté le 18-01-2008 à 13:21:31  profilanswer
 

Le tableau $_SESSION ne se remplit pas tout seul, c'est ton boulot.
Et je ne vois pas pourquoi il se viderait et permettrait à ta boucle de se terminer.
Ce serait une bonne idée de lire la doc et les exemples sur les sessions...


---------------
Can't buy what I want because it's free -
n°1673488
jereln
..elle est pas belle la vie...
Posté le 18-01-2008 à 16:27:49  profilanswer
 

help!!
je n'y arrive pas, pas moyen de remplir le tableau, j'ai beau regardé les docs, je n'y arrive pas. :cry:

n°1673574
CyberDenix
Posté le 18-01-2008 à 20:46:33  profilanswer
 

Okay alors en rapide  :
 
Les tableaux $_GET et $_POST se remplissent automatiquement, mais sont éphémères car définis par rapport à un contexte. Ce contexte est l'ensemble des données reçues par la page. Autrement dit dès que tu passes à une autre page, ce contexte change et tes données sont perdues... à moins de les sauvegarder dans le tableau $_SESSION !
 
Cf le message de skeye :

skeye a écrit :

Bah ensuite il faut prendre ce que tu récupères dans $_POST et le mettre dans $_SESSION...


 
Je disais donc, $_GET et $_POST se remplissent automatiquement :
 

  • $_GET lorsque tu reçois des paramètres en provenance d'une url

        Exemple si l'url est http://www.toto.com?param1=am&param2=stram&param3=gram
        $_GET['param1'] vaut 'am'
        $_GET['param1'] vaut 'stram'
        $_GET['param1'] vaut 'gram'
 

  • $_POST lorsque tu envoies un formulaire avec (<form ... method='POST'> )

        Pareil, tu utilises $_POST['nomdetavariable'] pour récupérer les valeurs qui t'intéressent.
 
Dans le cas de $_SESSION, tu dois toi-même affecter les valeurs.
 
 
Exemple, dans la page où tu reçois des données à sauvegarder :

Code :
  1. if (isset($_POST['article'])) {
  2.  // L'article existe et a été envoyé depuis un formulaire
  3.  
  4.  // On le sauvegarde en tant que variable session
  5.  // pour le réutiliser dans une autre page
  6.  $_SESSION['article'] = $_POST['article'];
  7. }


 
Et dans une autre page :

Code :
  1. echo 'Héhé voici le contenu de mon panier : '.$_SESSION['article'];


Message édité par CyberDenix le 18-01-2008 à 20:56:49

---------------
Directeur Technique (CTO)
mood
Publicité
Posté le 18-01-2008 à 20:46:33  profilanswer
 

n°1673755
jereln
..elle est pas belle la vie...
Posté le 19-01-2008 à 14:11:11  profilanswer
 

bonjour CyberDenix,
 
merci pour le coup de main, c'est ce que je faisais, mais j'avais une erreur. Mais maintenant c'est resolu!!


Message édité par jereln le 19-01-2008 à 14:27:15

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

  Formulaire et sessions

 

Sujets relatifs
ch exemple simple PHP.ini pour sessionsrécuperer variable dans script shell avec formulaire PHP
choisir sa table lors de l'envoi du formulaireformulaire d'upload me rend dingue !!!
problème de formulaireFormulaire de contacte php
submit partiel d'un formulaireenvoyer les info d'un formulaire par mail
[Formulaire] Fenetre de confirmationLien de déstruction de sessions sans formulaire, sans page dédiée
Plus de sujets relatifs à : Formulaire et sessions


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