Pb d'afficher plusieurs commande au panier

Pb d'afficher plusieurs commande au panier - PHP - Programmation

Marsh Posté le 11-01-2006 à 17:23:51    

Voici mon problème j'ai un script ajout panier et la fonction de ce script est d'afficher plusieurs commande mais je n'arrive pas a l'afficher :o  :o
<?php
session_start();
// mise en place du compteur
if (empty($_SESSION['nb_articles'])){
 $nb_articles=1;
 $_SESSION['nb_articles']=$nb_articles;  }
 else {
 $nb_articles=$_SESSION['nb_articles'];
 $nb_articles=1+$nb_articles;
 $_SESSION['nb_articles']=$nb_articles; }
 
// recherche données
$n_ski[$nb_articles]=trim($_POST['n_ski']);
$prix[$nb_articles]=trim($_POST['prix']);
$n_image[$nb_articles]=trim($_POST['n_image']);
$qte[$nb_articles]=trim($_POST['qte']);
$montant[$nb_articles]=$prix[$nb_articles]*$qte[$nb_articles];
 
// enregistrement de session panier
 
$panier[$nb_articles]=array($n_image[$nb_articles],$n_ski[$nb_articles],$prix[$nb_articles],$qte[$nb_articles],$montant[$nb_articles]);
$_SESSION['panier']=$panier ;
if (empty($_SESSION['panier']));
else
for($e=0; $e<$nb_articles; $e++)
 
echo "<center><FONT SIZE=+2.5><u><b>Panier</b></u></FONT></center>";
echo "<br/>";
echo "<br/>";
echo "<br/>";
echo "<br/>";
    {
        echo "<table>";
             echo "<center><table border=2 cellspacing=3 cellpadding=3>";
             echo "<tr>";
             echo "<td bgcolor=lightskyblue><font size=+1><font class='beige'><center>Ski</center></font></td>";
             echo "<td bgcolor=lightskyblue><font size=+1><font class='beige'><center>n_ski</center></font></td>";
             echo "<td bgcolor=lightskyblue><font class='beige'><font size=+1><center>Prix(€)</center></font></td>";
             echo "<td bgcolor=lightskyblue><font size=+1><font class='beige'><center>Quantité commandée</center></font></td>";
             echo "<td bgcolor=lightskyblue><font size=+1><font class='beige'><center>Montant HT</center></font></td>";
             echo "<br/>";
 
                          for($i=0; $i<$nb_articles; $i++)
                          echo "<tr>";
                           echo "<td>";
                           echo "<center><img src='$n_image[$nb_articles].gif'></center></br>";
                          echo "<td>";
                           echo "".$n_ski[$nb_articles].'<bt/>';
                          echo "<td>";
                         echo"".$prix[$nb_articles]." € ";
                         echo "<td>";
                            echo "".$qte[$nb_articles].'<bt/>';
                          echo "<td>";
                           echo "".$montant[$nb_articles].'<bt/>';
                           echo "</td>";
                          }
 
 
 
echo "</table>";
echo "<br/>";
echo "<br/>";
echo"".'<br />';
echo"".'<br />';
echo"Le montant de votre panier est de  € ".'<br />';
echo "<br/>";
echo "<br/>";
echo "<form action=\"formski.htm\" >";
echo"<input name='coucou' type='submit' value='Commander un autre ski'>";
echo "<br/>";
echo "<br/>";
echo"</form>";
echo "<form action=\"ok.php\" >";
echo"<input name='send' type='submit' value='Enregistrer commande'>";
?>
Merci de votre aide[b] :hello:

Reply

Marsh Posté le 11-01-2006 à 17:23:51   

Reply

Marsh Posté le 11-01-2006 à 18:48:52    

Mis à part le côté catastrophique du code (html comme php d'ailleurs), tu pourrais définir un peu mieux ce qui ne va pas ?
 
Parce que ça

Code :
  1. if (empty($_SESSION['panier']));else

ça doit faire sourire php :D

Reply

Marsh Posté le 11-01-2006 à 18:51:18    

[:sprint]

Code :
  1. if (empty($_SESSION['panier']));

traduction : ne sert à rien vu que c'est suivit imédiatement d'un ;

Code :
  1. if (empty($_SESSION['panier']));
  2. else

le "else" ne sert à rien vu qu'il ne correspond pas au if (le ; toujours)

Code :
  1. for($e=0; $e<$nb_articles; $e++)
  2. echo "<center><FONT SIZE=+2.5><u><b>Panier</b></u></FONT></center>";

donc t'affiche cette ligne "$nb_articles" fois et tout ce qui suit une seule fois.
Idem pour

Code :
  1. for($i=0; $i<$nb_articles; $i++)
  2.                           echo "<tr>";


 
En plus de ces simples erreurs de syntaxe, je te signale que t'incrémente le nombre d'article acheté sans vérifier qu'on a bien commandé un article valide vendus par toi.
A celà, on va rajouter le fait que le prix vient du navigateur du visiteur. PAr conséquent on peut acheter ce qu'on veut à n'importe quel prix (vive les sky à prix promo toute l'année : 1 euro la paire)
 
 
 
 
je crois que je vais m'arrêter là. J'espére que t'arriveras à corriger tout ça.

Reply

Marsh Posté le 14-01-2006 à 16:10:01    

Merci de votre aide j'ai corrigé mais comment fait ton pour resortir les données de la session panier pour les afficher

Reply

Marsh Posté le 14-01-2006 à 16:42:34    

echo $_SESSION['la_donnee_que_tu_veux'];  
?
 
Mais bon dieu, pourquoi tous les débutants du dimanche se mettent a faire la même chose => des paniers alors que c'est une des choses les plus complexes a mettre en place niveau sécurité (Et qu'on me dise pas "Parcequ'ils aiment la difficulté" )


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed