Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt nie działa na nowym serwerze
Forum PHP.pl > Forum > PHP
roghatt
Witam
Zmieniłem serwer i skrypt nie działa na nowym serwerze. Jest to formularz do dodawania/edycji produktów. Przy edycji w formularzu nie pokazywało danych pobranych z bazy ale z tym sobie poradziłem przez $id=$_GET['id']; pobrane z url
Ale dodawanie do bazy edytowanych nazw w polach już nie działa, to samo dodawanie nowych nie działa, nic nie dodaje.
Link edytowania produktu: http://www.strona.pl/administracja/adm_pro...?id=405&c=e

Na starym serwerze wszystko ładnie działało, a tutaj (serwer netart) zaczęły się problemy. Nie mogę dojść dlaczego. Po kolei sprawdzałem i chyba jest to problem w linijkach gdzie jest UPDATE i INSERT danych w bazie.

W szczególności chodzi mi o edytowaniem if($c=="e") bo wtedy z dodawaniem sobie poradzę.
Co może się zmienić w konfiguracji nowego serwera?

  1. <?
  2.  
  3. include "func_baza.php";
  4.  
  5.  
  6. if($_POST['o']=="ok") {
  7. if($_POST['c']=="d") {
  8. $lista = mysql_query("SELECT MAX(id) FROM sk_prod;");
  9. $rowlista = mysql_fetch_row($lista);
  10. $maxid=$rowlista[0]+1;
  11. $nazwa=$_POST['nazwa'];
  12. $numer=$_POST['numer'];
  13. $opis=$_POST['opis'];
  14. $slowa=$_POST['slowa'];
  15. $cena=$_POST['cena'];
  16. $cena2=$_POST['cena2'];
  17. $nowosc=$_POST['nowosc'];
  18. $prom_tygodnia=$_POST['prom_tygodnia'];
  19. $czas_real=$_POST['czas_real'];
  20. $link=$_POST['link'];
  21. $link_tekst=$_POST['link_tekst'];
  22.  
  23. $res = mysql_query("INSERT INTO sk_prod VALUES ('$maxid', '$nazwa', '$numer', '$opis', '$slowa', '$cena', '$cena2', '$nowosc', '$prom_tygodnia', '$czas_real', '$link', '$link_tekst');");
  24.  
  25. $lista = mysql_query("SELECT MAX(id) FROM sk_prod_pow;");
  26. $rowlista = mysql_fetch_row($lista);
  27. $maxid2=$rowlista[0]+1;
  28. $nad=$_POST['nad'];
  29.  
  30.  
  31. $lic = mysql_query("SELECT MAX(kolej) FROM sk_prod_pow WHERE grupa='$nad';");
  32. $row_lic = mysql_fetch_row($lic);
  33. $lic=$row_lic[0]+1;
  34.  
  35.  
  36. $res = mysql_query("INSERT INTO sk_prod_pow VALUES ('$maxid2', '$maxid', '$nad', '$lic');");
  37.  
  38. header("Location: adm.php");
  39. exit;
  40. }
  41.  
  42.  
  43. if($_POST['c']=="e") {
  44. $nazwa=$_POST['nazwa'];
  45. $numer=$_POST['numer'];
  46. $opis=$_POST['opis'];
  47. $slowa=$_POST['slowa'];
  48. $cena=$_POST['cena'];
  49. $cena2=$_POST['cena2'];
  50. $nowosc=$_POST['nowosc'];
  51. $prom_tygodnia=$_POST['prom_tygodnia'];
  52. $czas_real=$_POST['czas_real'];
  53. $link=$_POST['link'];
  54. $link_tekst=$_POST['link_tekst'];
  55. $id=$_GET['id'];
  56.  
  57. $res = mysql_query("UPDATE sk_prod SET nazwa='$nazwa', numer='$numer', opis='$opis', slowa='$slowa', cena='$cena', cena2='$cena2', nowosc='$nowosc', prom_tygodnia='$prom_tygodnia', czas_real='$czas_real', link='$link', link_tekst='$link_tekst' WHERE id='$id';");
  58. header("Location: adm.php");
  59. }
  60.  
  61.  
  62. if($_POST['c']=="u") {
  63.  
  64. //usunac powiazania
  65. //usunac wszystkie zdjecia
  66. //usunac specyfikacje
  67.  
  68. $id=$_GET['id'];
  69. $res = mysql_query("DELETE FROM sk_prod_pow WHERE ktory='$id';");
  70. $id=$_GET['id'];
  71. $query = mysql_query("SELECT fotom, fotod FROM sk_prod_foto WHERE id='$id';");
  72. while ($row = mysql_fetch_row($query)) {
  73. if (file_exists("../$row[0]")) unlink("../$row[0]");
  74. if (file_exists("../$row[1]")) unlink("../$row[1]");
  75. }
  76. $id=$_GET['id'];
  77. $res = mysql_query("DELETE FROM sk_prod_foto WHERE prod='$id';");
  78. $id=$_GET['id'];
  79. $res = mysql_query("DELETE FROM sk_prod WHERE id='$id';");
  80.  
  81.  
  82.  
  83. header("Location: adm.php");
  84. }
  85. }
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92. include "func_html.php";
  93.  
  94.  
  95. tworz_gora(1,1);
  96. $c=$_GET['c'];
  97. if($c=="e") {
  98. echo "<table border=0 bgcolor=red>
  99. <tr>";
  100. echo "<td><a HREF=\"adm_prod.php?id=$id&c=e\">Menu1</A></TD>";
  101. echo "<td><a HREF=\"adm_prod_pow.php?id=$id\">Menu2</A></TD>";
  102. echo "<td><a HREF=\"adm_prod_foto.php?c=w&pr=$id\">Menu3</A></TD>";
  103.  
  104.  
  105. echo "</TR></TABLE>";
  106. }
  107.  
  108.  
  109. echo "<form action='adm_prod.php' method='post' enctype='multipart/form-data'>";
  110. echo "<input TYPE='hidden' name='c' value='$c'>";
  111. echo "<input TYPE='hidden' name='o' value='ok'>";
  112. echo "<input TYPE='hidden' name='nad' value='$nad'>";
  113. echo "<input TYPE='hidden' name='id' value='$id'>";
  114.  
  115.  
  116. if($c=="d") {
  117. echo "<b>Dodaj nowy produkt</b><br><Br>";
  118. echo "Zdjecia i przyporzadkowanie do grup zmienisz/dodasz edytujac ten produkt.<br><Br>";
  119. }
  120. if($c=="e") {
  121. echo "<b>Edycja wybranego produktu</b><br><Br>";
  122. echo "Zdjecia i przyporzadkowanie do grup zmienisz/dodasz wybierajac odpowiednia zakladke .<br><Br>";
  123. $id=$_GET['id'];
  124. $res = mysql_query("SELECT * FROM sk_prod WHERE id='$id';");
  125. $row = mysql_fetch_row($res);
  126. }
  127. if($c=="u") {
  128. echo "<b>Usuniecie produktu: </b>";
  129. $id=$_GET['id'];
  130. $res = mysql_query("SELECT * FROM sk_prod WHERE id='$id';");
  131. $row = mysql_fetch_row($res);
  132. }
  133.  
  134.  
  135.  
  136. if($c!="u") {
  137. echo "<table border=0>";
  138.  
  139. echo "<tr><Td>Nazwa produktu:</td><td>";
  140. echo "<input type='text' size='70' name='nazwa' ";
  141. if($c=="e") echo "value='$row[1]'";
  142. echo "></TD></TR>";
  143.  
  144. echo "<tr><Td>Cena:</td><td>";
  145. echo "<input type='text' name='cena' ";
  146. if($c=="e") echo "value='$row[5]'";
  147. echo ">&nbsp;&nbsp;<input type=\"submit\" name=\"OK\" value=\"OK\"></TD></TR>";
  148.  
  149. echo "<tr><Td>Cena promocyjna:</td><td>";
  150. echo "<input type='text' name='cena2' ";
  151. if($c=="e") echo "value='$row[6]'";
  152. echo "></TD></TR>";
  153.  
  154. echo "<tr><Td>Nowosc:</td><td>";
  155. echo "<input type=\"radio\" ";
  156. if($c=="e" and $row[7]=='1') echo "checked";
  157. if($c=="d") echo "checked";
  158. echo " value=\"1\" name=\"nowosc\">Tak&nbsp;&nbsp;";
  159. echo "<input type=\"radio\" ";
  160. if($c=="e" and $row[7]=='0') echo "checked";
  161. echo " value=\"0\" name=\"nowosc\">Nie</TD></TR>";
  162.  
  163. echo "<tr><Td>Promocja tygodnia:</td><td>";
  164. echo "<input type=\"radio\" ";
  165. if($c=="e" and $row[8]=='1') echo "checked";
  166. echo " value=\"1\" name=\"prom_tygodnia\">Tak&nbsp;&nbsp;";
  167. echo "<input type=\"radio\" ";
  168. if($c=="e" and $row[8]=='0') echo "checked";
  169. if($c=="d") echo "checked";
  170. echo " value=\"0\" name=\"prom_tygodnia\">Nie</TD></TR>";
  171.  
  172.  
  173. echo "<tr><Td>Czas realizacji:</td><td>";
  174. echo "<input type='text' name='czas_real' ";
  175. if($c=="e") echo "value='$row[9]'";
  176. echo "></TD></TR>";
  177.  
  178. echo "<tr><Td>Link (zamiast dodaj do koszyka):</td><td>";
  179. echo "<input type='text' name='link' ";
  180. if($c=="e") echo "value='$row[10]'";
  181. echo "></TD></TR>";
  182.  
  183. echo "<tr><Td>Tekst linka (zamiast dodaj do koszyka):</td><td>";
  184. echo "<input type='text' name='link_tekst' ";
  185. if($c=="e") echo "value='$row[11]'";
  186. echo "></TD></TR>";
  187.  
  188.  
  189. echo "<tr><Td>Numer katalogowy:</td><td>";
  190. echo "<input type='text' name='numer' ";
  191. if($c=="e") echo "value='$row[2]'";
  192. echo "></TD></TR>";
  193.  
  194. echo "</table>";
  195.  
  196.  
  197. echo "Opis:<br>";
  198. echo "<textarea name='opis' rows=10 cols=45>";
  199. if($c=="e") echo $row[3];
  200. echo "</textarea><br><br>";
  201.  
  202. echo "Slowa kluczowe:<br>";
  203. echo "<textarea name='slowa' rows=5 cols=45>";
  204. if($c=="e") echo $row[4];
  205. echo "</textarea><br><br>";
  206.  
  207.  
  208.  
  209.  
  210. } else echo "$row[1]<br><Br>";
  211.  
  212. echo "<input type=\"submit\" name=\"OK\" value=\"OK\">";
  213. echo "&nbsp;&nbsp;<a HREF='adm.php'>Zrezygnuj</A>";
  214.  
  215. echo "</form>";
  216.  
  217. tworz_dol();
  218.  
  219.  
  220. ?>
  221.  
  222.  
Fifi209
włącz wyświetlanie błędów error_reporting

i czy jakieś błędy z mysql lecą mysql_error, mysql_errno
roghatt
no niestety żadnych błędów mi nie wyświetlało.
Jak to wszystko porozdzielałem czyli zapytanie do bazy było w innym pliku, to dane z formularza zapisane w zmiennej wyświetla mi zaraz przed zapytaniem, ale jak już ma je wpisać do bazy danych to już tego nie robi więc chyba problem tkwi w tym zapytaniu do bazy.
Przypomnę, że zapytanie na starym serwerze działało dobrze a tutaj niestety już nie działa.
  1. $res = mysql_query("UPDATE sk_prod SET nazwa='$nazwa', numer='$numer', opis='$opis', slowa='$slowa', cena='$cena', cena2='$cena2', nowosc='$nowosc', prom_tygodnia='$prom_tygodnia', czas_real='$czas_real', link='$link', link_tekst='$link_tekst' WHERE id='$id';");
  2.  


może to kwestia tej linijki? ale nie wiem co może być nie tak
Van Pytel
Sprawdz tak:


Kod
$res = mysql_query("UPDATE sk_prod SET nazwa='$nazwa', numer='$numer', opis='$opis', slowa='$slowa', cena='$cena', cena2='$cena2', nowosc='$nowosc', prom_tygodnia='$prom_tygodnia', czas_real='$czas_real', link='$link', link_tekst='$link_tekst' WHERE id='$id'");
roghatt
no niestety nie działa, średnik dziwnie że tam jest, ale bez niego też nic nie działa, nie mam pojęcia co już z tym zrobić
fander
Witam

Kod
".... WHERE id='$id' "


Mniemam że id w bazie nie jest stringiem ?

Zamień to na

Kod
"... WHERE id=$id"


lub

Kod
" ... WHERE id=".$id


Pozdrawiam
zend
Wyświetl zapytania, potem wykonaj w phpMyAdmin'ie, wszystkie warunki obejmij warunkiem if(count($_POST)) {}, nie analizowałem kodu, ale wiesz co robi exit?
roghatt
co do $id to jest to typ int.
żadna z proponowanych zmian $id nie działa.

zapytania w phpMyAdminie działają, jak obejmuje to warunkiem if(count($_POST)) {} to w ogóle nie działają podstrony, wywala od razu do adm.php

exit wiem co robi, ale tutaj skrypt nie jest przerywany bo są warunki if więc jeśli if($_POST['c']=="e") to wykonuje się to co jest w tym warunku a poprzednie są pomijane. Wcześniej te warunki wrzuciłem do osobnych plików i też nic nie działało.
fander
a wypisz na początku

Kod
var_dump($_POST)

lub

Kod
print_r($_POST)


zobaczymy co tam przekazujesz

a jeszcze jedno, ten kod co podałeś to jest w admin_prod.php ?
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.