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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Faire un panier (site marchand)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Faire un panier (site marchand)

n°1561927
Dede86
Posté le 18-05-2007 à 11:22:08  profilanswer
 

Bonjour,
 
Je voudrais faire un panier en php mais je me heurte à quelques difficultés.
Sur 1 page, j'affiche les articles de ma base de données avec une boucle : while ($ligne = mysql_fetch_array($exereq))
 
le problème c'est que j'ai mis des boutons ajouter au panier pour chaque article dans le code et quand j'appuie sur ce bouton, l'utilisateur est redirigé vers son panier avec l'article qu'il a commandé (j'utilise une variable $_POST). Seulement, c'est toujours le dernier article qui est affiché.
 
Je suppose que c'est à cause de la boucle While mais je ne sais pas comment faire pour m'en sortir
 
Pouvez-vous m'aider ?
 
Merci d'avance

mood
Publicité
Posté le 18-05-2007 à 11:22:08  profilanswer
 

n°1561936
flo850
moi je
Posté le 18-05-2007 à 11:30:37  profilanswer
 

1- sans le code c'est pas facile de t'aider  
 
2- n'oublie que faire u panier , c'est simple . MAis faire une gestion sécurisée ne l'est pas du tout

n°1561937
omega2
Posté le 18-05-2007 à 11:31:28  profilanswer
 

Avec aussi peu d'infos, on peut soit te parler de boule de christal et de madame soleil, soit te demander plus d'infos.
 
En clair, avec au total une seule ligne de code, non on ne peut pas t'aider : comment veux tu qu'on sache ce qui se passe dans le reste du code?

n°1561945
Dede86
Posté le 18-05-2007 à 11:43:47  profilanswer
 

Voici le code de ma page qui affiche les articles. Je précise que le 1er code affiche les articles et que pour chaque article l'utilisateur peut cliquer sur le bouton ajouter les articles au panier et cela va rediriger l'utilisateur vers son panier avec l'article sélectionné (et les autres si il en a séléctionné avant). Pour faire passer les informations d'une page à l'autre, j'ai utilisé les champs cachés (dans ce code, je n'ai utilisé que le titre seulement).Le problème est que quand il clique sur le bouton ajouter les articles, même si il ne séléctionne que le 1er article, c'est toujours le dernier article qui est affiché. Cela vient de la boucle While mais je ne sais pas comment faire autrement. Help please.
 
<html>
 <head>
  <title>Catalogue</title>
  <link rel="stylesheet" href="css/f1.css">
 </head>
 <body>
<?php
require('connedb.php');
 
$req ="Select * From media, genre WHERE media.nogenre='genre.nogenre'";
$exereq = mysql_query($req);  
 
 while ($ligne = mysql_fetch_array($exereq))  
  {
        echo"<form method='post' action='reqpanier.php'>
<table width='90%' align='center'height='90%' border='0'  cellpadding='5'>
 <tr><td width='20%' height='95%'>
 <table align='center' border='0' width='95%' height='80%'>
 <tr><td><img src='{$ligne['PhotoMed']}' width='200' height='280'></td></tr>
<tr><td align='center'><b>{$ligne['PrixMed']} €</b>
  </table>
 </td>
 
 <td valign='top' width='80%' >
   <table  align='center' border='0' width='95%' cellspacing='10'>
    <tr>
<td colspan='2' align='center'>{$ligne['TitreMed']}  
    </tr>
    <tr>
     
     <td><b>Genre :</b>{$ligne['Nomgenre']}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Date de sortie : </b>{$ligne['DatsorMed']}
    <tr><tr>  
    <td>{$ligne['DescriMed']}
    <tr><tr><tr>
    <td align='justify'><hr>{$ligne['ResumMed']}
     
    <input type='hidden' name='tranvar' value='{$ligne['TitreMed']}'>
     
    <br><input type='submit' name='trasmiva' value='Ajouter les articles au panier'>
     
   </table>
 </td>    
</table>";  
 
 }
?>
 <body>
</html>
 
Et là c'est la code qui est utilisé quand l'utilisateur clique sur ajouter au panier :
(je n'ai essayé qu'avec une variable pour l'instant)  
 
<?php
 $res=$_POST['tranvar'];
 
 echo"$res";  
?>
 
Le problème c'est que cela affiche toujours le dernier article

n°1561958
omega2
Posté le 18-05-2007 à 11:58:40  profilanswer
 

Donc ta page panier se limite à :

Code :
  1. <?php
  2. $res=$_POST['tranvar'];
  3.  
  4. echo"$res"; 
  5. ?>


Comment veux tu qu'il t'affiche plusieurs articles? Il n'y a aucune gestion de panier là dedans. Tu ne récupéres pas les articles déjà envoyé plus tôt, d'ailleurs le choix d'un article ne sera stocker nulle part.
 
En fait, j'irais même jusqu'a dire que c'est un code qui ne sert à rien, sa seule utilité serait de débugguer un bout de page s'il y avait quelque chose à tracer. Là, il n'y a rien.
 
Fait toi donc un panier et là on t'aidera par ce que là, il n'y a rien de fait.
 
PS : J'espéres que tu ne comptes pas créer une véritable boutique en ligne avec paiement en ligne par ce que tu n'as vraiment pas le niveau nécessaire. C'est bien de se lancer dans des projets intéressant mais il faut éviter de se lancer dans des peojets critiques qui demandent des conaissances pointus qu'on ne peut acquerir qu'avec beaucoup d'expérience ou à la limite avec des formations trés spécifiques.


Message édité par omega2 le 18-05-2007 à 12:02:59
n°1561961
Dede86
Posté le 18-05-2007 à 12:01:07  profilanswer
 

Je sais c'est un code test, je te demande juste de me dire comment récupérer le titre de l'article que j'ai sélectionné dans une autre page s'il te plaît parce que là, ça affiche juste le dernier article.

n°1561964
flo850
moi je
Posté le 18-05-2007 à 12:05:03  profilanswer
 

je te conseille de regarder du cote de $_SESSION , si tuveux faire un panier

n°1561965
archangel
Un homme Une vision
Posté le 18-05-2007 à 12:06:42  profilanswer
 

Regarde le HTML généré par le premier code que tu as posté (dans IE clic droit afficher la source).
Ensuite dis-toi bien que tu envoies le contenu de tranvar à ton deuxième code, donc regardes dans le HTML généré la valeur de tranvar et tu devrais comprendre ton erreur :D .

n°1561967
omega2
Posté le 18-05-2007 à 12:06:55  profilanswer
 

Comment veux tu que je te dises comment récupérer le titre d'un article sélectionné 10 minutes plus tôt, ou la veille ou ne seraisse que deux pages avant alors que tu n'as stocké l'information nulle part. Cette info n'existe plus une fois le traitement de la page effectué.

n°1562015
Dede86
Posté le 18-05-2007 à 13:18:48  profilanswer
 

Justement, je ne sais pas comment stocker l'information. Tu peux me donner un coup de main ? Tu as une idée de la façon dont je pourrais m'y prendre ?

mood
Publicité
Posté le 18-05-2007 à 13:18:48  profilanswer
 

n°1562027
soulmanto
Chat Noir replica
Posté le 18-05-2007 à 13:42:47  profilanswer
 

3 posts au dessus... :o

n°1562029
Dede86
Posté le 18-05-2007 à 13:49:13  profilanswer
 

Oups désolé. D'accord je vois. Oui je sais que mon code php renvoie le dernier article à cause de la boucle while associée à mysql_fetch_array mais je ne sais pas comment m'en sortir.

n°1562125
Dede86
Posté le 18-05-2007 à 16:27:09  profilanswer
 

Je suis trop nul !! J'avais oublier de fermer la balise </form> c'est pour ça que ça me donnait toujours le dernier article !!
 
Merci à tous surtout à archangel grâce à qui j'ai trouvé ce qui n'allait pas


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

  [PHP] Faire un panier (site marchand)

 

Sujets relatifs
[AIDE] Qqun peut il me creer un site sur-mesure?[PHP] Petit jeu...
[PHP] Probleme connexion FTPExecuter un programme en C via PHP
Avis site web + Problème Compatibilité[PHP] problème d'écriture dans un fichier
[PHP] Recherche FreelanceComment héberger son site sur free sans etre abonné??
Editeur PHPFaille dans mon site
Plus de sujets relatifs à : [PHP] Faire un panier (site marchand)


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