Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmiana liczby produktow w koszyku
dolar
post
Post #1





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 19.10.2016

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


Niestety napotkalam problem. Podczas zmiany ilosci produktu w koszyku nie potrafie przyporzadkowac zmiany do danego produktu i zmieniaja mi sie wszystkie produkty na raz. Oto moj kod:

  1. <form method="post">
  2. <table id="produkty">
  3. <tr>
  4. <th>Id</th>
  5. <th>Kategoria</th>
  6. <th>Nazwa</th>
  7. <th>Rozmiar</th>
  8. <th>Cena</th>
  9. <th>Ilosc</th>
  10. <th>Usuń</th>
  11. <th>Suma</th>
  12. </tr>

  1.  
  2. if (array_key_exists('ilosc', $_POST)){
  3. $numer = (int)$_POST['ilosc'];
  4. } else {
  5. $numer=10;
  6. }
  7.  
  8. if (array_key_exists('minus', $_POST)){
  9. $numer--;
  10. }
  11. if (array_key_exists('plus', $_POST)){
  12. $numer++;
  13. }
  14.  
  15.  
  16.  
  17. foreach ($_SESSION['koszyk'] as $key => $produkt) {
  18. $key=$key+1;
  19. echo "<tr>";
  20. echo "<td>" . $key. "</td>";
  21. echo "<td>" . $produkt['kategoria'] . "</td>";
  22. echo "<td>" . $produkt['nazwa'] . "</td>";
  23. echo "<td>" . $produkt['rozmiar'] . "</td>";
  24. echo "<td>" . $produkt['cena'] . "</td>";
  25. echo '<td>';
  26. echo '<button type="submit" name="minus">-</button>';
  27. echo '<input type="text" name="ilosc" id="ilosc" value='.$numer.'>';
  28. echo '<button type="submit" name="plus">+</button>';
  29. echo "</td>";
  30. echo "<td><button type='submit' name='usun' value='usun'>Usun</button></td>";
  31. echo "</tr>";
  32. }
  33. }
  34.  
  35.  
  36.  


Ktos cos? Bo serio od wczoraj utknelam (IMG:style_emoticons/default/sad.gif)

Ten post edytował dolar 7.12.2016, 16:30:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Input hidden to po prostu standardowy input którego nie widać na stronie. Dane z niego są tak samo przesyłane w formularzu. Pamiętaj tylko że to wcale nie oznacza, że jego wartość nie może być zmieniona np. przez włamywacza.

Robisz wtedy:
  1. <input type=hidden name=key value=$key/>


Po stronie PHP możesz odczytać:

  1. $productKey = isset($_POST['key']) ? (int) $_POST['key'] : false;
  2.  
  3. if (isset($_POST['plus']) && $productKey !== false) {
  4. $_SESSION['koszyk'][$productKey]['ilosc']++;
  5. }


Ten post edytował viking 8.12.2016, 12:36:54
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 20:09