Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Ustawienie domyślnej wartości sesji
Basia555
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 19.04.2015

Ostrzeżenie: (0%)
-----


Witam
Mam problem z ustawieniem domyślnej wartości koszyka, problem polega na tym, że gdy dodam do koszyka jakieś produkty to tworzy mi sie sesja koszyka ale sesja powierzchni już niee. Domyślna wartość do wszystkich pól mam zapisana jako $powierzchnia=1 ale gdy mam np 4 produkty i pierwszego wartość zmienię na np 5 to reszta mi się restartuje i nic nie ma. Pokazałam na zdjęciach krok po kroku co się dzieje. Może coś podpowiecie smile.gif

http://zapodaj.net/4a053a5f136b5.jpg.html
http://zapodaj.net/992284fa8c00e.jpg.html
http://zapodaj.net/fe1a486d719d1.jpg.html
http://zapodaj.net/ea09e6c28db87.jpg.html

A to jest kod którego problem dotyczy:

  1. <?php
  2.  
  3. /* inicjuje zmienna */
  4. if(empty($_SESSION['powierzchnia'])){
  5. $_SESSION['powierzchnia'] = 0;
  6. }
  7. if(isset($_GET['zapiszPowierzchnie'])){
  8. /* przetwarza dane formularza powierzchni */
  9. if(!is_array($_SESSION['powierzchnia'])){
  10. $_SESSION['powierzchnia'] = array();
  11. }
  12.  
  13.  
  14.  
  15. if (!isset($_SESSION['koszyk'])) {
  16. $_SESSION['koszyk'] = array();
  17. }
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25. if (isset($_GET['reset'])) //chcemy wyczyścić koszyk
  26. {
  27. unset($_SESSION['powierzchnia']);
  28. unset($_SESSION['koszyk']);
  29. header('location: '. $_SERVER['PHP_SELF']. '?'. SID);
  30. exit();
  31. }
  32. ?>
  33.  
  34. <!DOCTYPE html>
  35. <html>
  36. <head>
  37. <meta charset="UTF-8">
  38. <title>Firma budowlana </title>
  39. </head>
  40. <body>
  41. <h1>Twoj koszyk z zakupami</h1>
  42.  
  43.  
  44.  
  45. <?php
  46.  
  47. // definicja tablic z towarami oraz cenami
  48.  
  49.  
  50. $q = mysql_connect('localhost','root','haslo') or
  51. die('Padl serwer');
  52. $q = mysql_select_db('stronaphp') or die('Padla baza');
  53.  
  54.  
  55. $wynik = mysql_query("SELECT ID, Nazwa_uslugi, Cena_za_metr FROM cennik_uslug")
  56. or die('Błąd zapytania');
  57.  
  58.  
  59. $towary = array();
  60. $ceny = array();
  61. while ($row = mysql_fetch_array($wynik))
  62. {
  63. $towary[$row['ID']]=$row['Nazwa_uslugi'];
  64. $ceny[$row['ID']]=$row['Cena_za_metr'];
  65. }
  66. ?>
  67.  
  68. <table border="1">
  69. </thead>
  70. <tr>
  71.  
  72. <th>Nazwa usługi</th>
  73. <th>Cena za metr</th>
  74. </tr>
  75. </thead>
  76. <tbody>
  77.  
  78.  
  79.  
  80. <?php
  81. $suma = 0;
  82. $powierzchnia = 1;
  83.  
  84. for ($i=0;$i < count($_SESSION['koszyk']); $i++)
  85. {
  86. if($_SESSION['powierzchnia']>0){
  87. $powierzchnia = $_SESSION['powierzchnia'][$i];
  88. }
  89. echo '<tr>';
  90. echo '<td>'.$towary[$_SESSION['koszyk'][$i]].'</td>';
  91. echo '<td align="right">';
  92. echo $powierzchnia.' m<sup>2</sup> x '.number_format ($ceny[$_SESSION['koszyk'][$i]],2);
  93. echo ' zlotych</td>';
  94. echo '<td>
  95.  
  96. <form method="post" action="'.$_SERVER['PHP_SELF'].'?zapiszPowierzchnie=1">
  97. <input type="text" name="powierzchnia" id="powierzchnia" value="'.$_SESSION['powierzchnia'][$i].'">
  98. <input type="hidden" name="iteamId" value="'.($i).'">
  99. <input type="submit" value="Zapisz">
  100. </form>
  101. </td>';
  102. echo '</tr>';
  103. $suma = $suma + ($ceny[$_SESSION['koszyk'][$i]] * $powierzchnia);
  104. }
  105. ?>
  106.  
  107.  
  108. </tbody>
  109. <tfoot>
  110. <tr>
  111. <th align="right">Naleznosc: </th><br>
  112. <th align="right"><?php echo number_format($suma,2); ?> zlotych.</th>
  113. </tr>
  114. </tfoot>
  115. </table>
  116.  
  117. <p><a href="towary.php">Kupuj dalej</a> lub też: <a href="<?php echo $_SERVER['PHP_SELF']; ?>?reset=1">Wyczysc swoj koszyk</a></p>
  118. </body>
  119. </html>


Może coś podpowiecie? Na początku kodu zapisałam print_r aby pokazać co i jak zmienia sie po dodaniu

Ten post edytował Basia555 31.07.2015, 20:52:09
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:18