Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Koszyk w PHP
tommasi
post 6.07.2010, 11:08:35
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.07.2010

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


Witam,
Poniżej mam skryp koszyka w php jednak nie chce wyświetlać danych na podstawie pobranego id. Co gorsza nie ma żadnego błędu. Proszę o pomoc.

  1. <?php
  2.  
  3. function odbierz($txt) {
  4. if (get_magic_quotes_gpc()) $txt = stripslashes($txt);
  5. return str_replace(array('\\',"'"), array('\\\\',"\'"), trim($txt));
  6. }
  7.  
  8. $id = odbierz($_REQUEST["id"]);
  9. //echo $id;
  10. $sz = isset($_REQUEST["sz"])?number_format($_REQUEST["sz"],0,".",""):"";
  11.  
  12. if ($id<>"") {
  13. if ($db_conn = ocilogon ( "tomasz" , "tomasz1" ));
  14. $zapytanie = "SELECT id, towar, cena, ile FROM produkty WHERE id='$id'";
  15. $parsed = ociparse ( $db_conn , $zapytanie);
  16. ociexecute ( $parsed );
  17. $liczba_wierszy = ocifetchstatement ( $parsed , $dane );
  18. echo oci_num_rows($parsed);
  19. if ($liczba_wierszy == 1) {
  20. // $dane = oci_fetch_array($parsed);
  21.  
  22. $_SESSION["koszyk"]["$id"]["TOWAR"]=$dane["TOWAR"];
  23. $_SESSION["koszyk"]["$id"]["CENA"]=$dane["CENA"];
  24.  
  25. if ($sz=="") $_SESSION["koszyk"]["$id"]["ILE"] = 1;
  26. else if($sz>=1)$_SESSION["koszyk"]["$id"]["ILE"]=$sz;
  27. else if ($sz<=0)unset($_SESSION["koszyk"]["$id"]);
  28. }
  29. }
  30. $_SESSION["koszyk"]="";
  31. $lacznie=0;
  32. if (!empty ($_SESSION["koszyk"])){
  33. if (count($_SESSION["koszyk"])>0) {
  34. echo "<table border=\"1\" width=\"50%\" align=\"center\">
  35. <colgroup>
  36. <col />
  37. <col align=\"right\" />
  38. <col align=\"center\" />
  39. <col align=\"right\" />
  40. </colgroup>
  41. <tr><th>towar</th><th>cena</th><th>sztuk</th><th>łącznie</th></tr>";
  42.  
  43. foreach($_SESSION["koszyk"] as $indeks=>$kosz) {
  44. echo "<tr>";
  45. echo "<td>{$kosz["TOWAR"]}</td>";
  46. echo "<td>{$kosz["CENA"]} zł</td>";
  47. echo "<td>
  48. <form action=\"koszyk.php\" method=\"get\" style=\"display:inline;\">
  49. <div style=\"display:inline;\">
  50. <input type=\"hidden\" name=\"ID\" value=\"$indeks\" />
  51. <input type=\"text\" name=\"sz\" value=\"{$kosz["ILE"]}\"
  52. style=\"width:45px;\" />
  53. <input type=\"submit\" value=\"zmień\" style=\"width:45px;\" />
  54. </div></form>
  55. <form action=\"koszyk.php\" method=\"get\" style=\"display:inline;\">
  56. <div style=\"display:inline;\">
  57. <input type=\"hidden\" name=\"ID\" value=\"$indeks\" />
  58. <input type=\"hidden\" name=\"sz\" value=\"0\"
  59. style=\"width:25px;\" />
  60. <input type=\"submit\" value=\"usuń\" style=\"width:45px;\" />
  61. </div></form>
  62. </td>";
  63. echo "<td>".number_format($kosz["CENA"]*$kosz["ILE"],2,".","");
  64. echo " zł</td>";
  65. echo "</tr>";
  66.  
  67. $lacznie =$lacznie + $kosz["CENA"]*$kosz["ILE"];
  68. }
  69. echo "<tr><td colspan=\"3\" align=\"right\">
  70. w sumie: </td><td>";
  71. echo number_format($lacznie,2,".","")." zł</td></tr>";
  72. echo "</table>";
  73. } else echo "<p align=\"center\" > Koszyk jest pusty...</p>";
  74.  
  75. } else echo "<p align=\"center\" > Koszyk jest pusty...</p>";
  76. echo '</br></br>';
  77.  
  78.  
  79. echo '<table border="2" bgcolor="#99CCCC" align="center"><td><a href="zamow1.php" align="center">Zamów towar</a></td></table>';
  80.  
  81. ?>


Ten post edytował thek 6.07.2010, 12:17:49
Powód edycji: [thek]: BBCode albo zamykam temat :) Poprawny... Nie CODE tylko PHP!
Go to the top of the page
+Quote Post
Agares
post 6.07.2010, 11:42:56
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 12.02.2010

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


Daj na początku skryptu:
ini_set('display_errors', true);
error_reporting(E_ALL);
i zobacz co się stanie.
Go to the top of the page
+Quote Post
tommasi
post 6.07.2010, 11:55:07
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.07.2010

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


Nie wyświetla żadnych błędów. Wyświetla tylko na stronie komunikat z końca skryptu " Koszyk jest pusty... "
Go to the top of the page
+Quote Post
Cysiaczek
post 6.07.2010, 11:58:30
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Ujmij proszę listing (zaprezentowany kod) w odpowiednie bbcode oraz nadaj temu wątkowi sensowny tytuł. http://forum.php.pl/regulamin.html#IV
Huh, sorki thek, nie zauważyłem smile.gif
Powód edycji: [Cysiaczek]:


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
muk4
post 6.07.2010, 17:45:28
Post #5





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


  1. $_SESSION["koszyk"]=""; //tutaj ustawiasz zmienną jako empty
  2. $lacznie=0;
  3. if (!empty ($_SESSION["koszyk"])){ //tutaj sprawdzasz czy nie jest pusta, a jest.
  4. if (count($_SESSION["koszyk"])>0) {


Tak jak w komentarzach - najpierw ustawiasz zmienną = "" a potem sprawdzasz czy jest pusta.

Ten post edytował muk4 6.07.2010, 18:43:43
Go to the top of the page
+Quote Post
tommasi
post 7.07.2010, 17:47:47
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.07.2010

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


skrypt działa bod bazą MySQL chciałem przerobić go do połączenia za bazą ORACLE ale nie daje rady.
Go to the top of the page
+Quote Post
muk4
post 8.07.2010, 00:01:37
Post #7





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


Tzn, co nie daję rady? -.-
Go to the top of the page
+Quote Post
Hoku
post 8.07.2010, 05:47:29
Post #8





Grupa: Zarejestrowani
Postów: 49
Pomógł: 2
Dołączył: 6.07.2010

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


Dodaj na końcu przed "?>"
Kod
echo session_encode();

dostaniesz wszystko co zapisujesz w sesji, i prawdopodobnie będzie coś takiego:
Cytat
koszyk|s:0:""
gdzie nazwa_zmiennej|typ_zmiennej:(jesli string to jego dlugość):wartość
albo wcale nie będzie (nie pamiętam czy zapisywało puste dane do sesji)
to jest najprawdopodobniej przyczyna jeśli inne dane w sesji są a tej brak.
nie widzę też session_start(); chyba że masz session.auto_start=1;
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 28.06.2025 - 07:31