Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z identyfikacją $id, Bardzo proszę o pomoc - w błachym problemie
andrzejlechniak
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Witam
Mam problem, z którym męczę się od dwóch dni. Chodzi o skrypt sklepu. Mam taki kod:

  1. if(isset($_GET['id_zakupu']))
  2. {
  3. $id=(int)$_GET['id_zakupu'];
  4.  
  5. if ($id !="") {
  6. $query = mysql_query("SELECT * FROM produkty WHERE id='$id'");
  7. if ($query and mysql_num_rows($query)==1) {
  8. $dane = mysql_fetch_array($query);
  9.  
  10. $_SESSION["koszyk"][$id]["id"]=$dane["id"];
  11. $_SESSION["koszyk"][$id]["towar"]=$dane["towar"];
  12. $_SESSION["koszyk"][$id]["cena"]=$dane["cena"];
  13. $_SESSION["koszyk"][$id]["opis"]=$dane["opis"];
  14. $_SESSION["koszyk"][$id]["zdjecie"]=$dane["zdjecie"];
  15.  
  16. if ($sz=="") $_SESSION["koszyk"]["$id"]["ile"]++;
  17. else if ($sz>=1) $_SESSION["koszyk"]["$id"]["ile"]=$sz;
  18. else if ($sz<=0) unset($_SESSION["koszyk"]["$id"]);
  19. }
  20. }
  21.  
  22. if (count($_SESSION["koszyk"])>0) {
  23. echo "<table align='center' style='width:650px; border: 1px solid #dddddd;'>
  24. <tr><th colspan='6' style='border-bottom: 1px solid #dddddd;'>Koszyk z Twoimi zakupami | Kontynuuj <a href='index2.php?id=produkty'>zakupy</a></th>
  25. </tr><tr>
  26. <th width='10%'>Zdjecie</th>
  27. <th width='15%'>Nazwa</th>
  28. <th width='30%'>Opis produktu</th>
  29. <th width='10%'>Cena</th>
  30. <th width='25%'>Sztuk</th>
  31. <th width='10%'>Razem</th>
  32. </tr>";
  33.  
  34. foreach($_SESSION["koszyk"] as $indeks=>$kosz)
  35. {
  36. $id = $kosz['id'];
  37. var_dump($id);
  38.  
  39. echo "<tr>";
  40. echo "<td valign='top'><img src='obrazki_produkty/{$kosz['zdjecie']}' /></td>";
  41. echo "<td valign='top'>{$kosz['towar']}</td>";
  42. echo "<td valign='top'>{$kosz['opis']}</td>";
  43. echo "<td valign='top'>{$kosz['cena']} PLN</td>";
  44. echo "<td valign='top'>
  45. <form action=\"index2.php?id=koszyk&id_zakupu=$id\" method=\"post\" style=\"display:inline;\">
  46. <div style=\"display:inline;\">
  47. <input type=\"hidden\" name=\"id_zakupu\" value=\"$indeks\" />
  48. <input type=\"text\" name=\"sz\" value=\"{$kosz['ile']}\"style=\"width:25px;\" />
  49. <input type=\"submit\" value=\"zmień\" style=\"width:45px;\" />
  50. </div></form>
  51. <form action=\"index2.php?id=koszyk&id_zakupu=$id\" method=\"post\" style=\"display:inline;\">
  52. <div style=\"display:inline;\">
  53. <input type=\"hidden\" name=\"id_zakupu\" value=\"$indeks\" />
  54. <input type=\"hidden\" name=\"sz\" value=\"0\"style=\"width:25px;\" />
  55. <input type=\"submit\" value=\"usuń\" style=\"width:45px;\" />
  56. </div></form>
  57. </td>";
  58. echo "<td valign='top'>".number_format($kosz['cena']*$kosz['ile'],2,".","");
  59. echo " PLN</td>";
  60. echo "</tr>";
  61. $lacznie +=$kosz['cena']*$kosz['ile'];
  62. }
  63. echo "<tr><td colspan=\"6\" align=\"right\" style='border-bottom: 1px solid #dddddd; border-top: 1px solid #dddddd;'>
  64. razem: <strong>";
  65. echo number_format($lacznie,2,".","")."</strong> PLN</td></tr><tr><td colspan=\"6\" align=\"right\"><a href='user.php?id=zakupy'>Kup towary</a></td></tr>";
  66. echo "</table>";
  67. }
  68.  
  69. }


Problem jest tego rodzaju: klikanie na usuń lub zmień nie działa bo $id nie jest ustalone i... no i właśnie nie wiem jak to zrobić i gdzie w TYM skrypcie. Var_dump pokazuje mi NULL, print_r[$_GET] pokazywał mi 0. Nie wiem co mam robić, jak rozwiązać ten niby błahy, ale problem. Będę BARDZO wdzięczny za pomoc. Andrzej
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
luck
post
Post #2





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


Na początek zdecyduj, czy dane formularzy chcesz przesyłać metodą GET czy POST. Jeśli to drugie, to po co w akcji formy podajesz dodatkowe parametry?
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Chcę przesłać jako $_POST, ale co to ma do $id?
Go to the top of the page
+Quote Post
Ghost_78
post
Post #4





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


luck ma racje - robisz tu pewien blad. ustalasz ze formularze maja byc przesulane jako POST wiec trzymaj sie tego i zamiast
  1. $_GET[id_zakupu];
  2. //zrob
  3. $_POST[id_zakupu];
  4. // itd

poza tym nie przekazuj danych w action podajac parametry po znaku zapytania
prawidlowo jest to tak:
  1. //<form action=\"index2.php?id=koszyk&id_zakupu=$id\" method=\"post\" style=\"display:inline;\">
  2. //zamien na
  3. <form action="index2.php" method="post">
  4. <input type="hidden" name="id" value="koszyk">
  5. <input type="hidden" name="id_zakupu" value="$id">

to bardziej eleganckie wyjscie i nie rodzi problemow
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #5





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Próbowałem zrobić, jak mi radzono, ale:
1. Odbieram dane w koszyku z linka, więc to odpada
2. Gdy część danych w odpowiednich tabelach i... gdy klikam na zmień - przenosi mnie na stronę - ...koszyk jest pusty!, natomiast gdy chcę usunąć, dodaje się automatycznie jedna sztuka towaru, jakbym odświeżał stronę.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 07:50