Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Skrypt sklepu
Forum PHP.pl > Forum > Bazy danych > MySQL
kunegunda
Witam przy pomocy książki - "Ćwiczenia z PHP i MySQL - Maćkuś Przemysław" napisałem skrypt sklepu internetowego. Ale niestety po wysłaniu na serwer ten kod niedziała. Wyświetlają się przyciski: edytuj i usuń oraz link: dodaj kategorię ale po kliknięciu w nie skrypt powraca do strony głównej i nic się nie dzieje. Co mam zrobić? Co w tym kodzie jest nie tak?

Listing pliku admin.php:

  1. <html>
  2. <link REL="Stylesheet" HREF="style.css" TYPE="text/css">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  5. </head>
  6. <body>
  7. <?
  8. function iso($text) {
  9. $text=strtr($text, "ąśźĄŚŹ","ąśĽˇŚŹ");
  10. return $text;
  11. }
  12. $conn=@mysql_connect('mysql1.yoyo.pl','****','****') or die ('Brak połączenia z bazą danych');
  13. @mysql_select_db('*****') or die ('Błąd podczas wyboru bazy danych');
  14. if($action=="")
  15. {
  16. $a=1;
  17. $sel=mysql_query("select nazwa,id from kategorie order by 'nazwa';")
  18. print("<center><table width=500><tr><td><div class=text><b><center>Lp.</td>
  19. <td><div class=text><b>Nazwa</td><td></td></tr>");
  20. while($tty=mysql_fetch_row($sel))
  21. {
  22. print(iso("<tr><td><div class=text><center>$a</td><td>
  23. <div class=text>$tty[0]</td><td><input type=button class=button
  24. value=\"&nbsp;Edycja&nbsp;\" onClick=\"java script:{
  25. window.location='admin.php?action=kategoria&kategoria=$tty[1]'}\">
  26. <input type=button class=button value=\"&nbsp;Usuń&nbsp;\" onClick=\"java script:
  27. if(confirm('Czy chcesz usunąć kategorię $tty[0] wraz ze wszystkimi produktami?')){ window.location='admin.php?action=usunkat&kategoria=$tty[1]'}\">
  28. </td></tr>"));
  29. $a+=1;
  30. }
  31. print(iso("<tr><td colspan=2><p align=left><br>
  32. <a href=admin.php?action=dodajkat>Dodaj nową kategorię</a><br>
  33. </td><td></td></tr></table>"));
  34. }
  35. elseif($action=="usunkat")
  36. {
  37. $sel=mysql_query("select nazwa from kategorie where id='$kategoria';");
  38. $tty=mysql_fetch_row($sel);
  39. $delete=mysql_query("delete from kategorie where id='$kategoria';");
  40. $delete1=mysql_query("delete from sklep where id_kategoria='$kategoria';");
  41. if(($delete=="1")&&($delete1=="1"))
  42. print("<div class=text><center>Usunięto kategorię: $tty[0]<br><br>
  43. <a href=admin.php?action=>Powrót</a>");
  44. }
  45. elseif($action=="dodajkat")
  46. {
  47. function nowa($nazwa)
  48. {
  49. print(iso("<form method=post action=$PHP_SELF><center><table>
  50. <tr><td><div class=text>Nazwa:</td><td><input type=text size=20 name=nazwa
  51. value=\"$nazwa\"></td></tr>
  52. <tr><td></td><td align=right>
  53. <input type=reset value=Wyczyść>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  54. <input type=submit value=Zapisz></td></tr>
  55. <tr><td colspan=2><br><center>
  56. <a href=admin.php?action=>Powrót</a></td></tr></table></form>"));
  57. }
  58. if($nazwa=="")
  59. nowa($nazwa);
  60. else
  61. {
  62. mysql_query("insert into kategorie (nazwa) values ('$nazwa');") or die(mysql_error());
  63. print(iso("<center><table>
  64. <tr><td><div class=text>Nazwa:</td><td><div class=text>$nazwa</td></tr>
  65. <tr><td colspan=2><br><center><a href=admin.php?action=>Powrót</a>
  66. </td></tr></table>"));
  67. }
  68. }
  69. elseif($action=="kategoria")
  70. {
  71. $a=1;
  72. $sel=mysql_query("select nazwa,id from sklep where id_kategoria='
  73. $kategoria' order by 'nazwa';");
  74. print("<center><table width=500><tr>
  75. <td><div class=text><b><center>Lp.</td>
  76. <td><div class=text><b>Nazwa</td><td></td></tr>");
  77. while($tty=mysql_fetch_row($sel))
  78. {
  79. print(iso("<tr><td><div class=text><center>$a</td><td>
  80. <div class=text>$tty[0]</td><td><input type=button class=button
  81. value=\"&nbsp;Edycja&nbsp;\" onClick=\"java script:{window.location=
  82. 'admin.php?action=edytuj&kategoria=$kategoria&sub=$tty[1]'}\">
  83. <input type=button class=button value=\"&nbsp;Usuń&nbsp;\"onClick=\"java script:
  84. if(confirm('Czy chcesz usunac: $tty[0] ?')) {
  85. window.location='admin.php?action=usun&kategoria=$kategoria&sub=$tty[1]'}\">
  86. </td></tr>"));
  87. $a+=1;
  88. }
  89. print(iso("<tr><td colspan=2><p align=left><br><a
  90. href=admin.php?action=dodaj&kategoria=$kategoria>Dodaj nowy przedmiot</a><br>
  91. <a href=admin.php?action=>Wybierz inną kalegorię</a></td>
  92. <td></td></tr></table>"));
  93. }
  94. elseif($action=="dodaj")
  95. {
  96. function nowy($nazwa,$cena,$zdjecie,$kategoria)
  97. {
  98. print(iso("<form method=post
  99. action=$PHP_SELF><center><table>
  100. <tr><td><div class=text>Nazwa:</td><td><input type=text size=20 name=nazwa
  101. value=\"$nazwa\"></td></tr>
  102. <tr><td><div class=text>Cena:</td><td><input type=text size=20 name=cena
  103. value=\"$cena\"></td></tr>
  104. <tr><td><div class=text>Zdjęcie:</td><td><input type=text size=20 name=zdjecie
  105. value=\"$zdjecie\"></td></tr>
  106. <tr><td></td><td align=right><input type=hidden name=kategoria
  107. value=\"$kategoria\"><input type=reset value=Wyczyść>
  108. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit
  109. value=Zapisz></td></tr>
  110. <tr><td colspan=2><br><center>
  111. <a href=admin.php?action=kategoria&kategoria=$kategoria>Powrót</a></td></tr>
  112. </table>
  113. </form>"));
  114. }
  115. if(($nazwa=="")||($cena=="")||($zdjecie==""))
  116. nowy($nazwa,$cena,$zdjecie,$kategoria);
  117. else
  118. {
  119. mysql_query("insert into sklep (id_kategoria,nazwa,cena,foto) values
  120. ('$kategoria','$nazwa','$cena','$zdjecie');") or die(mysql_error());
  121. print(iso("<center><table>
  122. <tr><td><div class=text>Nazwa:</td><td><div class=text>$nazwa</td></tr>
  123. <tr><td><div class=text>Cena:</td><td><div class=text>$cena PLN</td></tr>
  124. <tr><td><div class=text>Zdjęcie:</td><td><div class=text>$zdjecie</td></tr>
  125. <tr><td colspan=2><br><center>
  126. <a href=admin.php?action=kategoria&kategoria=$kategoria>Powrót</a></td></tr>
  127. </table>"));
  128. }
  129. }
  130. elseif($action=="edytuj")
  131. {
  132. $sel=mysql_query("select nazwa,cena,foto,dostepnosc from sklep where id='$sub';");
  133. $rek=mysql_fetch_row($sel);
  134. function edyt($nazwa,$cena,$zdjecie,$dostepnosc,$sub)
  135. {
  136. print(iso("<form method=post action=$PHP_SELF><center><table>
  137. <tr><td><div class=text>Nazwa:</td>
  138. <td><input type=text size=20 name=nazwa value=\"$nazwa\"></td>
  139. <td rowspan=4><img src=$zdjecie hspace=10 vspace=10 border=0></td></tr>
  140. <tr><td><div class=text>Cena:</td>
  141. <td><input type=text size=20 name=cena value=\"$cena\"></td></tr>
  142. <tr><td><div class=text>Zdjęcie:</td>
  143. <td><input type=text size=20 name=zdjecie value=\"$zdjecie\"></td></tr>
  144. <tr><td><div class=text>Dostepnosc:</td>
  145. <td><select name=dostepnosc><option value=0"));
  146. if($dostepnosc=="0")
  147. print("selected");
  148. print(iso(">Niedostępny<option value=1"));
  149. if($dostepnosc=="1")
  150. print("selected");
  151. print(iso(">Dostępny<select></td></tr>
  152. <tr><td></td><td align=right><input type=hidden name=sub value=$sub>
  153. <input type=reset value=Wyczyść>
  154. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit value=Zapisz></td></tr>
  155. <tr><td colspan=2><br><center>
  156. <a href=admin.php?action=kategoria&kategoria=$dzial>Powrót</a></td></tr></table>
  157. <input type=hidden name=sub value=$sub></form>"));
  158. }
  159. if(($nazwa=="")||($cena=="")||($zdjecie==""))
  160. edyt($rek[0],$rek[1],$rek[2],$rek[3],$kategoria,$sub);
  161. else
  162. {
  163. mysql_query("update sklep set nazwa='$nazwa', cena='$cena', foto='$zdjecie',
  164. dostepnosc='$dostepnosc' where id='$sub';") or die(mysql_error());
  165. print(iso("<center><table>
  166. <tr><td><div class=text>Nazwa:</td><td><div class=text>$nazwa</td></tr>
  167. <tr><td><div class=text>Cena:</td><td><div class=text>$cena PLN</td></tr>
  168. <tr><td><div class=text>Zdjęcie:</td><td><div class=text>$zdjecie</td></tr>
  169. <tr><td><div class=text>Dostępnosc:</td><td><div class=text>"));
  170. if($dostepnosc=="1")
  171. print(iso("Dostępny"));
  172. if($dostepnosc=="0")
  173. print(iso("Niedostępny"));
  174. print(iso("</td></tr>
  175. <tr><td colspan=2><br><center>
  176. <a href=admin.php?action=kategoria&kategoria=$kategoria>
  177. Powrót</a></td></tr></table>"));
  178. }
  179. }
  180. elseif($action=="usun")
  181. {
  182. $sel=mysql_query("select nazwa from sklep where id='$sub';");
  183. $tty=mysql_fetch_row($sel);
  184. $delete=mysql_query("delele from sklep where id='$sub';");
  185. if($delete=="1")
  186. print("<div class=text><center>Usunięto przedmiot: $tty[0]<br><br>
  187. <a href=admin.php?action=kategoria&kategoria=$kategoria>Powrót</a>");
  188. }
  189. ?>
  190. </body>
  191. </html>


Tabele mysql:

  1. CREATE TABLE kategorie (
  2. id INT (5) NOT NULL AUTO_INCREMENT,
  3. nazwa VARCHAR (30) NOT NULL,
  4. PRIMARY KEY (id));
  5.  
  6. CREATE TABLE sklep (
  7. id INT (5) NOT NULL AUTO_INCREMENT,
  8. id_kategoria INT (5) NOT NULL,
  9. nazwa VARCHAR (255) NOT NULL,
  10. cena INT (6) DEFAULT '1' NOT NULL,
  11. foto VARCHAR (20) DEFAULT 'brake.jpg' NOT NULL,
  12. dostepnosc INT (1) DEFAULT '1' NOT NULL,
  13. PRIMARY KEY (id));


Z góry dziękuje za każdą pomoc winksmiley.jpg
blooregard
Cytat
skrypt powraca do strony głównej i nic się nie dzieje

Zawsze się coś dzieje, tylko nie zawsze widać.

Daj na początku:
  1. <?php
  2. ini_set('display_errors' , 'on');
  3. ?>

i pokaż błędy, które się pojawią.
Mchl
A nie mogłeś sobie jakiejś dobrej książki kupić?
kunegunda
Cytat(blooregard @ 4.02.2010, 16:12:46 ) *
Zawsze się coś dzieje, tylko nie zawsze widać.

Daj na początku:
  1. <?php
  2. ini_set('display_errors' , 'on');
  3. ?>

i pokaż błędy, które się pojawią.


Już się dowiedziałem w czym tkwi problem, mianowicie mój serwer nie obsługuje zmiennych globalnych. Zacząłem sam zamieniać zapis zmiennych np $action na $_GET['action'] itp. ale cały czas pojawiają się nowe błędy i tak w kółko. Już sobię z tym poradzić nie mogę .... nie mogę dojść do ładu również z apostrofami/cudzysłowiami. Mógłby mi ktoś pomóc przerobić ten kod? Z góry thx.
Mchl
Nie chcę Cię martwić, ale z jeżeli to jest kod z tej książki, to nadaje się ona na makulaturę (bo do innych czynności ma pewnie za sztywne kartki). Zaróno od strony PHP jak i MySQL widać, że autor nie bardzo wie o co chodzi.
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.