Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Brak uploadu
Forum PHP.pl > Forum > Przedszkole
radziowie
Otóż zrobiłem sobie pewien skrypt m. in. do wgrywania plików i problem polega na tym, że zdjęcia bez problemu są wgrywane gdy pracuję na localhoście (używam webserv'a) natomiast w przypadku pracy na serwerze cba.pl (dla testowania) wyskakuje błąd "Przynajmniej jedno z pól jest niewypełnione (wynika to z mojego kodu). Na dole ponizej jest cały kod:

  1. <?php
  2. //stosować tylko do projektu do wyszukania błędów
  3. ini_set('display_errors','1');
  4. // usunąć po zakończeniu projektowania
  5. //załączenie plików
  6. include ('./sprawdz.php');
  7. include ('../gora_logo.php');
  8. include ('./menu_admin.php');
  9. include ('../dodatki/bonus.php');
  10. polacz_baza();
  11.  
  12.  
  13. function add_photo ()
  14. {
  15. echo "<h2>Galeria</h2>";
  16. echo '<table class="text"><tr><td>
  17. <form enctype="multipart/form-data" action="zdjecia.php" method="post">
  18.  
  19. Zdjęcie: </td><td><input type="file" name="zdjecie" /></td></tr>
  20. <tr><td>Opis: </td><td><textarea name="opis" cols="30" rows="3"></textarea></td></tr>
  21. <tr><td>Kategoria: </td><td><select name="id_kat">';
  22. $kat = mysql_query("SELECT id_kat, kategoria FROM kategorie;") or
  23. die ("zle polecenie sql");
  24. WHILE ($rekord = mysql_fetch_assoc ($kat))
  25. {
  26. $kategoria = $rekord['kategoria'];
  27. $id_kat = $rekord['id_kat'];
  28. echo '
  29. <option value="'.$id_kat.'">'.$kategoria.'</option>';
  30. }
  31. echo '
  32. </select></td></tr>
  33. <tr><td colspan="2" align="center"><input type="submit" name="submit" value="wyślij" />
  34. </form></td></tr></table>';
  35. }
  36. ?>
  37. <table bgcolor="white" width="900" cellspacing="0" cellpadding="10" border="1" align="center">
  38. <tr>
  39. <td colspan="2" align="center" valign="middle" class="text">
  40.  
  41. <?php
  42. /////////////////////////////////////////
  43. /////////////////////////////////////////
  44. //SPRAWDZIĆ DANE WYSYŁANE PRZEZ FORMULARZ
  45. /////////////////////////////////////////
  46. /////////////////////////////////////////
  47.  
  48. //sprawdzenie czy istnieją zmienne
  49. if (isset($_POST['zdjecie']) && isset($_POST['opis']) && isset($_POST['id_kat']))
  50. {
  51. //mysql_real_escape_string Dodaje znaki unikowe w łańcuchu znaków do użycia w instrukcji SQL, trim wycina spacje
  52. $zdjecie = mysql_real_escape_string(trim($_POST['zdjecie']));
  53. $opis = mysql_real_escape_string(trim($_POST['opis']));
  54. $id_kat = $_POST['id_kat'];
  55. }
  56.  
  57. //sprawdza czy istnieje zmienna$_POST['submit'], czyli czy nastąpiło wysłanie danych
  58. if (isset($_POST['submit']))
  59. {
  60. if (empty($zdjecie) || empty($opis))
  61. {
  62. echo 'Przynajmniej jedno z pól jest puste';
  63. }
  64. else
  65. {
  66.  
  67. $zdjecie_tmp = $_FILES['zdjecie']['tmp_name'];
  68. $zdjecie_nazwa = $_FILES['zdjecie']['name'];
  69. $zdjecie_rozmiar = round(($_FILES['zdjecie']['size'])/1024, 2);
  70. $max_rozmiar= (1024*3);
  71.  
  72. if (file_exists("../upload/galeria/".$zdjecie_nazwa.""))
  73. {
  74. echo ("Plik o takiej nazwie jest już na serwerze <b><i>".$zdjecie_nazwa."</b></i><br />");
  75. echo "<a href=zdjecia.php>Wracaj ...</a>";
  76. }
  77.  
  78. else
  79. {
  80. if (is_uploaded_file($_FILES['zdjecie']['tmp_name']))
  81. {
  82. move_uploaded_file($zdjecie_tmp, "../upload/galeria/$zdjecie_nazwa");
  83. echo "Plik: <strong>$zdjecie_nazwa</strong> o rozmiarze
  84. <strong>$zdjecie_rozmiar kB</strong> został przesłany na serwer!";
  85. $zapytanie = "INSERT INTO zdjecia VALUES (NULL, '".$zdjecie_nazwa."', '".$opis."', '".$id_kat."')";
  86. $result = mysql_query($zapytanie);
  87.  
  88. //nie tworzy miniaturek dla wiekszych rozdzielczości
  89. $sp = explode(".", $zdjecie_nazwa);
  90. if($sp[1] == "jpeg")
  91. {
  92. $img = imagecreatefromjpeg("../upload/galeria/".$zdjecie_nazwa."");
  93. }
  94. elseif($sp[1] == "png")
  95. {
  96. $img = imagecreatefrompng("../upload/galeria/".$zdjecie_nazwa."");
  97. }
  98. elseif($sp[1] == "jpg")
  99. {
  100. $img = imagecreatefromjpeg("../upload/galeria/".$zdjecie_nazwa."");
  101. }
  102. elseif($sp[1] == "gif")
  103. {
  104. $img = imagecreatefromgif("../upload/galeria/".$zdjecie_nazwa."");
  105. }
  106. else
  107. {
  108. echo 'Zły format obrazka';
  109. }
  110. $width = imagesx($img);
  111. $height = imagesy($img);
  112.  
  113. $width_mini = 120;
  114. $height_mini = 120;
  115. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  116.  
  117. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini ,
  118.  
  119. $height_mini, $width , $height);
  120.  
  121.  
  122.  
  123.  
  124. imagejpeg($img_mini, "../upload/galeria/mini/".$zdjecie_nazwa."", 80);
  125. imagedestroy($img);
  126. imagedestroy($img_mini);
  127.  
  128.  
  129. }
  130. else
  131. {
  132. echo "Nie udało się wysłać pliku <strong>$zdjecie_nazwa</strong> na serwer";
  133. }
  134. }
  135.  
  136. }
  137.  
  138.  
  139.  
  140. }
  141.  
  142. //sprawdzenie czy istnieją zmienne
  143. if (isset($_GET['co']) && isset($_GET['id']) && $_GET['co'] == 'skasuj')
  144. {
  145.  
  146. $wynik = mysql_query("SELECT * FROM zdjecia WHERE id_zdjecia = '".$_GET['id']."'");
  147. $rekord = mysql_fetch_assoc($wynik);
  148. $zdjecie = $rekord['zdjecie'];
  149. unlink('../upload/galeria/'.$zdjecie.'');
  150. unlink('../upload/galeria/mini/'.$zdjecie.'');
  151. echo 'Zdjęcie '.$zdjecie.' oraz miniaturka zostały usunięte.<br />';
  152. $usun_wpis = mysql_query("DELETE FROM zdjecia WHERE id_zdjecia = '".$_GET['id']."'") or die ('Błąd sql');
  153. echo 'Wpis został usunięty.';
  154. add_photo();
  155. //sprawdzenie czy istnieją zmienne
  156. }
  157. elseif (isset($_POST['co']) && $_POST['co'] == 'popraw')
  158. {
  159. if ($_POST['opis']) {
  160. $popraw = mysql_query("UPDATE zdjecia SET opis = '".$_POST['opis']."', id_kat = '".$_POST['id_kat']."'
  161. WHERE id_zdjecia = '".$_POST['id_zdjecia']."';")
  162. $wynik = mysql_query($popraw);
  163. }
  164. elseif (!$opis)
  165. {
  166. echo '<b>Wpis nie został zaktualizowany. Przynajmniej jedno z pól nie zostało wypełnione.<br /> Popraw to!</b><br />';
  167. }
  168. add_photo();
  169.  
  170. }
  171.  
  172. //sprawdzenie czy istnieją zmienne
  173. elseif (isset($_GET['co']) && $_GET['co'] == 'edytuj')
  174. {
  175. $edycja = mysql_query("SELECT * FROM zdjecia WHERE id_zdjecia = '".$_GET['id']."';");
  176. $rekord = mysql_fetch_assoc($edycja);
  177. $nrid_zdjecia = $rekord['id_zdjecia'];
  178. $zdjecie = $rekord['zdjecie'];
  179. $opis = $rekord['opis'];
  180. $id_kat = $rekord['id_kat'];
  181.  
  182. echo '<table class="text"><tr><td>
  183. <form enctype="multipart/form-data" action="zdjecia.php" method="post">
  184. <input type="hidden" name="co" value="popraw">
  185. <input type="hidden" name="id_zdjecia" value="'.$nrid_zdjecia.'">
  186. Zdjęcie: </td><td><input type="text" name="zdjecie" value="'.htmlspecialchars($zdjecie).'" /></td></tr>
  187. <tr><td>Opis: </td><td><textarea name="opis" cols="30" rows="3">'.htmlspecialchars($opis).'</textarea></td></tr><tr>
  188. <td>
  189. Kategoria: </td><td><select name="id_kat" multiple="multiple">';
  190. $kat = mysql_query("SELECT id_kat, kategoria FROM kategorie;") or
  191. die ("zle polecenie sql");
  192. WHILE ($rekord = mysql_fetch_assoc ($kat))
  193. {
  194. $kategoria = $rekord['kategoria'];
  195. $id_kat_zd = $rekord['id_kat'];
  196.  
  197. if($id_kat == $id_kat_zd)
  198. {
  199. echo '<option selected="selected" value="'.$id_kat_zd.'">'.$kategoria.'</option>';
  200. }
  201. else
  202. {
  203. echo '<option value="'.$id_kat_zd.'">'.$kategoria.'</option>';
  204. }
  205. }
  206.  
  207. echo '
  208. </select></td>
  209. </tr><tr>
  210. <td align="center"><input type="submit" name ="popraw" value="popraw"><br />
  211. </form></td>
  212. </tr>
  213. </table>';
  214. }
  215.  
  216. elseif (!isset($_GET['co']))
  217. {
  218. add_photo();
  219. }
  220.  
  221. $wynik = mysql_query("SELECT * FROM zdjecia ORDER BY id_zdjecia asc;") or
  222. die ("zle polecenie");
  223. //liczba rekordów
  224. $ile = mysql_num_rows($wynik);
  225. echo "Znaleziono: ".$ile." rekordów";
  226. echo "<table border=\"1\" width=\"750\"><tr><td width=\"30\"><b>Nr. ID</b></td><td width=\"100\"><b>Zdjecie</b></td><td width=\"400\"><b>Opis</b></td>
  227. <td width=\"50\"><b>Id_Kat</b></td>
  228. <td width=\"50\"><b>Usuwanie</b></td>
  229. <td><b>Edytowanie</b></td></tr>";
  230. //wyświetlanie danych z bazy komórka po komórce
  231. WHILE ($rekord = mysql_fetch_assoc ($wynik))
  232. {
  233. $nrid = $rekord['id_zdjecia'];
  234. $zdjecie = $rekord['zdjecie'];
  235. $opis = $rekord['opis'];
  236. $id_kat = $rekord['id_kat'];
  237.  
  238. $kat = mysql_query("SELECT k.kategoria FROM zdjecia z, kategorie k WHERE z.id_kat=k.id_kat and z.id_kat=".$id_kat." LIMIT 1;") or
  239. die ("zle polecenie sql");
  240. WHILE ($rekord = mysql_fetch_assoc ($kat))
  241. {
  242. $kategoria = $rekord['kategoria'];
  243.  
  244. echo "<tr><td width=\"30\">".$nrid."</td><td width=\"100\">".stripslashes($zdjecie)."</td>
  245. <td width=\"40\">".stripslashes($opis)."</td>
  246. <td width=\"40\">".stripslashes($kategoria)."</td>
  247. <td><a href=\"zdjecia.php?co=skasuj&amp;id=$nrid\">usuń</a></td><td>
  248. <a href=\"zdjecia.php?co=edytuj&amp;id=$nrid\">edytuj</a></td></tr>";
  249.  
  250. }
  251. }
  252. echo "</table>";
  253.  
  254.  
  255. ?>
  256. </tr>
  257. </table>
  258. <?php
  259. include ('../stopka.php');
  260. ?>
  261. </body>
  262. </html>
nospor
$zdjecie = mysql_real_escape_string(trim($_POST['zdjecie']));
A wystarczylo zrobic print_r($_POST); .....
pola typu FILE nie idą postem, Nic wiec dziwnego ze warunek sie nie zgadza.
radziowie
To jak powinno być?
nospor
To czy plik poszedl czy nie masz zawarte w tablicy FILES pod indeksem error.
Zanim zaczniesz zabierac sie za upload zapoznaj się wpierw z podstawami uploadu, ktore sa bardzo dobrze opisane w manualu.
radziowie
Dzięki, trochę pozmieniałem i jest ok
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.