Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dodawanie produktów do koszyka.
Forum PHP.pl > Forum > Przedszkole
wiewiur667
Jestem dość początkujący w PHP lecz dostałem zlecenie od znajomego na stworzenie strony z prostym sklepem internetowym. Nie mogę sobie poradzić z dodawaniem produktów do koszyka i zapisania tego w cookie albo sesji.
Gdy próbuję inicjalizować cookie i zmienić go w case "add" to wyskakuje błąd, że zostało już wcześniej zainicjalizowane.

Strona Główna z koszykiem
  1. <?
  2. require('Sklep/include/db.php');
  3.  
  4.  
  5. function dodaj($product_id, $qty){
  6. $produkty['id'][$counter] = $product_id;
  7. $produkty['qty'][$counter] = $qty;
  8. $counter++;
  9. }
  10.  
  11. $product_id =$_GET[id];
  12. $action =$_GET[action];
  13. $qty = $_GET[qty];
  14.  
  15.  
  16. switch($action) {
  17. case "add":
  18. dodaj;
  19.  
  20. break;
  21.  
  22. case "remove":
  23.  
  24.  
  25. break;
  26.  
  27. case "empty":
  28.  
  29. break;
  30.  
  31. }
  32.  
  33. ?>
  34. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  35. <html xmlns="http://www.w3.org/1999/xhtml">
  36. <head>
  37. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  38. <title>Magic-Trees</title>
  39. <link href="style.css" rel="stylesheet" type="text/css" />
  40. </head>
  41. <body>
  42. <div id="strona">
  43. <div style="background-image:url(grafika/gora.png); height:15px; width:810px;"></div>
  44. <div id="loga">
  45. <div id="logo_left"></div>
  46. <div id="logo"><img src="grafika/logo.png" /></div>
  47. </div>
  48. <div id="wymiar">
  49. <div id="lewy_panel">
  50. <div id="menu">
  51. <ul>
  52. <li><a href="index.php?show=1">Galeria</a></li>
  53. <li><a href="index.php?show=2">O nas</a></li>
  54. <li><a href="index.php?show=3">Kontakt</a></li>
  55. <li><a href="index.php?show=4">Sklep (wkrótce)</a></li>
  56. </ul>
  57. </div>
  58. <div id="koszyk">
  59. <?
  60.  
  61. print_r($produkty);
  62.  
  63. ?>
  64. </div>
  65. </div>
  66. <div id="prawy_panel">
  67. <div id="content">
  68. <?php
  69.  
  70.  
  71. switch($_GET['show']) {
  72. case 1;
  73. include("main.php");
  74. break;
  75. case 2;
  76. include("onas.htm");
  77. break;
  78. case 3;
  79. include("kontakt.php");
  80. break;
  81. case 4;
  82. include("Sklep/sklep.php");
  83. break;
  84. }
  85. ?>
  86. </div>
  87. </div>
  88. </div>
  89. <div id="stopka"></div>
  90. </div>
  91. </body>
  92. </html>


Sklep z którego są przesyłane id i ilość:
  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  3. <link href="Sklep/sklep.css" rel="stylesheet" type="text/css" />
  4. <script type="text/javascript" src="js/prototype.js"></script>
  5. <script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
  6. <script type="text/javascript" src="js/lightbox.js"></script>
  7. <link rel="stylesheet" href="ddd/css/lightbox.css" type="text/css" media="screen" />
  8. </head>
  9. <?php
  10. //połączenie z bazą
  11. require('Sklep/include/db.php');
  12.  
  13. //wyświetlanie tabeli
  14.  
  15.  
  16. $produkty =mysql_query("SELECT * FROM products");
  17. while($row=mysql_fetch_array($produkty))
  18. {
  19.  
  20. $brutto= $row['cena']+($row['cena']*0.22);
  21.  
  22.  
  23. echo('<div id="produkt">');
  24. echo('<div id="opis">'.$row['opis'].'</div>');
  25. echo('<div id="sklep_foto"><a href="/magictrees/foto/'.$row['sklep_foto'].'"rel="lightbox[roadtrip]"><img src="/magictrees/miniatury/'.$row['sklep_foto'].'"/></a></div>');
  26. echo('<div id="zamow">');
  27. echo('<div id="cena">Cena netto:'.$row['cena'].'zł.'.' '.'Cena brutto: '.$brutto.'zł.'.'</div>');
  28. echo('<div id="kup">'."\n".'<div style="float:left; margin-top:5px;"><b>Sztuk:</b></div>'.
  29. '<form id="zamowienie" name="zamowienie" method="GET">
  30. <input name="show" type="hidden" value="4" >
  31. <input name="id" type="hidden" value="'.$row['id'].'" />
  32. <input name="counter" type="hidden" value="'.$counter.'" />
  33. <input name="action" type="hidden" value="add"/>
  34. <input name="qty" type="text" value="0" size="2" maxlength="2"/>
  35. <input name="zamow" type="submit" value="Zamów"/>
  36. </form>
  37. </div>');
  38. echo('</div>');
  39. echo('</div>');
  40. }
  41. //koniec wyświetlania tabeli
  42. mysql_close($mysql_con);
  43.  
  44.  
  45. $counter=0;
  46.  
  47.  
  48.  
  49.  
  50. ?>
nospor
poszukaj na forum, było już milion razy
szukaj pod hasłem takim jaki masz blad.

edit:
otwieram i podbijam.
Autor błąd z headers już poprawil i ma inny
wiewiur667
Gdy używam funkcji GET w formularzu w pliku sklep na stronie index.php powinien się zwiększyć counter o 1 co by umożliwiało dodanie produktu do tablicy lecz za każdym razem gdy jest przesyłany ten GET co prawda zwiększa się o 1 ale wygląda na to że się przez cały czas resetuje i zostaje ta jedynka. Nie wiem jak to rozwiązać ponieważ powinna być przeładowywany tylko formularz sklepu a nie cała witryna.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.