Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Galeria zdjęć
Forum PHP.pl > Forum > Przedszkole
bigbadcompany
Kiedyś kolega napisał galerię zdjęć z której korzystałem do dość niedawna. Z racji tego, że gotowiec i wydawało mi się, że wiem jak działa to z niej korzystałem. Jednak dziś ku mojemu zaskoczeniu znowu Notice'y zaczęły wyskakiwać. I teraz moje pytanie. Co w ogóle oznacza Notice: Use of undefined constant - assumed ? Nie bardzo mogę zrozumieć to co jest na php.net. Jakby ktoś podał mi wytyczne jak ma wyglądać poprawka tego to z góry dziękuję. Oczywiście nie całość tylko kawałek bo eleminacja kolejnych błędów będzie analogiczna. smile.gif

Notice: Use of undefined constant plik - assumed 'plik' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 50
Notice: Use of undefined constant error - assumed 'error' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 50
Notice: Use of undefined constant plik - assumed 'plik' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 56
Notice: Use of undefined constant tmp_name - assumed 'tmp_name' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 56
Notice: Use of undefined constant plik - assumed 'plik' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 61
Notice: Use of undefined constant error - assumed 'error' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 61
Notice: Use of undefined constant plik - assumed 'plik' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 68
Notice: Use of undefined constant type - assumed 'type' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 68
Notice: Use of undefined constant plik - assumed 'plik' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 69
Notice: Use of undefined constant type - assumed 'type' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 69
Notice: Use of undefined constant plik - assumed 'plik' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 73
Notice: Use of undefined constant tmp_name - assumed 'tmp_name' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 73
Notice: Use of undefined constant plik - assumed 'plik' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 84
Notice: Use of undefined constant name - assumed 'name' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 84
Notice: Undefined index: file in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 86
Notice: Use of undefined constant plik - assumed 'plik' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 100
Notice: Use of undefined constant tmp_name - assumed 'tmp_name' in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 100

  1. <?php
  2.  
  3.  
  4. if(DEBUG)
  5. {
  6. //debuguj($_SERVER);
  7. debuguj($kategoria);
  8. debuguj($_POST);
  9. debuguj($_FILES);
  10. }
  11.  
  12. //Sprawdzamy czy plik został wysłany
  13. if(isset($_POST['fotki']) && $_POST['fotki']=='send')
  14. if($_POST['fotki']=='send')
  15. {
  16. if(!is_numeric($_POST['f_kategoria']))
  17. {
  18. echo 'Błąd! Nie znaleziono folderu dla wybranej kategorii.';
  19. exit;}
  20. //$folder='/gal1';
  21.  
  22. //Skalowanie zdjec
  23. include('simpleimage.inc.php');
  24.  
  25. // start
  26. /*
  27. $image = new SimpleImage();
  28. $image->load($_FILES['plik']['tmp_name']);
  29. $image->resizeToWidth(250);
  30. $image->save('picture2.jpg');
  31.  
  32.  
  33.  
  34. $sizes = getimagesize ($_FILES['plik']['tmp_name']);
  35. $product_thumb_width = 164;
  36. $jpg_quality = 80;
  37. $image_height = $sizes[1] * $product_thumb_width / $sizes[0];
  38. $imu = imagecreatefromjpeg ($_FILES['plik']['tmp_name']);
  39. $imn = imagecreatetruecolor ($product_thumb_width, $image_height);
  40. imagecopyresized ($imn, $imu, 0, 0, 0, 0, $product_thumb_width, $image_height, $sizes[0], $sizes[1]);
  41. imagejpeg ($imn, "../../$products_img_dir/" . $last_prod_id . "_m.jpg", $jpg_quality);
  42. */
  43. // end
  44.  
  45.  
  46.  
  47. $img_path_big=$_SERVER['DOCUMENT_ROOT'].'/galeria/gal1/big';
  48. $img_path_small=$_SERVER['DOCUMENT_ROOT'].'/galeria/gal1/small';
  49.  
  50. if($_FILES[plik][error] == 2){
  51. // za maly plik
  52. tipError($tip_galeria[7]);
  53. }
  54.  
  55. if(!is_uploaded_file($_FILES[plik][tmp_name])){
  56. //Błąd! Musisz wybrać jakiś plik
  57. tipError($tip_galeria[1]);
  58. exit;}
  59. //Sprawdź czy nie ma błędów
  60. if($_FILES[plik][error] != 0){
  61.  
  62.  
  63. //Wystąpił błąd podczas przesyłania pliku! Sprawdź czy plik posiada odpowiednią wagę i spróbuj ponownie!
  64. tipError($tip_galeria[2]);
  65. exit;}
  66. //Sprawdzamy MIME TYPE pliku
  67. if($_FILES[plik][type] == "image/jpeg" ||
  68. $_FILES[plik][type] == "image/png" ||
  69. $_FILES[plik][type] == "image/gif"){
  70.  
  71. // sprawdz, czy nie podmienione rozszerzenie
  72. $x = getimagesize($_FILES[plik][tmp_name]);
  73. if(!is_array($x) or $x[0] < 2)
  74. {
  75. //Zły plik graficzny
  76. tipError($tip_galeria[6]);
  77. }
  78.  
  79. //Dotarliśmy tutaj to wszystko jest OK = UPLOAD
  80.  
  81. // generuj nazwe pliku
  82. $fileName=$_FILES[plik][name];
  83. $ext = substr( $fileName, strrpos( $fileName, '.' ) +1 );
  84. $nowaNazwaShort=md5( time( ) . $_FILES[ 'file' ][ 'name' ] ) . '.'.$ext;
  85. $nowaNazwa = $img_path_big.'/' . $nowaNazwaShort;
  86.  
  87.  
  88. //$nowaNazwaShort_th = 'th_'.$nowaNazwaShort;
  89. $nowaNazwa_th = $img_path_small.'/' . $nowaNazwaShort;
  90. // przeskaluj
  91. $image = new SimpleImage();
  92. $image->load($_FILES['plik']['tmp_name']);
  93. $image->resizeToWidth($cfg['thumb_mini_szer']);
  94. $image->save($nowaNazwa_th);
  95.  
  96.  
  97.  
  98. if(move_uploaded_file($_FILES[plik][tmp_name], $nowaNazwa)){
  99. // zapisz w DB
  100. $sq_fotka="INSERT INTO `galeria` (
  101. `g_id` ,
  102. `g_plik` ,
  103. `g_id_kat` ,
  104. `g_tytul` ,
  105. `g_opis` ,
  106. `g_autor`
  107. )
  108. VALUES (
  109. NULL , '".$nowaNazwaShort."', '".$_POST['f_kategoria']."', '".$_POST['f_tytul']."', '".$_POST['f_opis']."', '".$_POST['f_autor']."'
  110. )
  111. ";
  112. if(DEBUG) echo $sq_fotka;
  113. mysql_query($sq_fotka);
  114. //Plik wrzucono pomyślnie!
  115. tipInfo($tip_galeria[3]);
  116. }
  117. else{
  118. //Wystąpił nieoczekiwany błąd podczas kopiowania!
  119. tipError($tip_galeria[4]);
  120. exit;}
  121. }
  122. else{
  123. //Możesz uploadować tylko obrazki!
  124. tipError($tip_galeria[5]);
  125. }
  126.  
  127. }
  128. ?>
  129.  
  130. <?php
  131. // kategorie zdjec
  132. $sq_kat="select * from `kategorie_g`";
  133. $sql_kat=mysql_query($sq_kat);
  134. $i=0;
  135. while($k_gal=mysql_fetch_assoc($sql_kat))
  136. {
  137. $i++;
  138. $kategoria[$i]['id']=$k_gal['gal_id'];
  139. $kategoria[$i]['nazwa']=$k_gal['gal_name'];
  140. //$kategoria[$i]['folder']=$k_gal['gal_folder'];
  141. $kategoria[$i]['aktywna']=$k_gal['gal_akt'];
  142. }
  143.  
  144. $lista='<select name="f_kategoria" class="dlugi">
  145. <option value="0">wybierz kategorię</option>';
  146. foreach($kategoria as $list_k)
  147. {
  148. $lista.='<option value="'.$list_k['id'].'">'.$list_k['nazwa'].'</option>';
  149. }
  150. $lista.='</select>';
  151.  
  152. if(DEBUG){debuguj($kategoria);}
  153.  
  154.  
  155. $form_galeria='
  156. <div class="odstep"></div>
  157. <table>
  158. <form name="upload" method="post" enctype="multipart/form-data" action="index.php?s=galeria&dzial=zdjecie">
  159. <input type="hidden" name="fotki" value="send" />
  160. <input type="hidden" name="MAX_FILE_SIZE" value="'.IMG_SIZE.'" />
  161. <tr>
  162. <th colspan="3">Dodaj nowe zdjęcie do galerii</th>
  163. </tr>
  164. <tr>
  165. <td>Zdjęcie:</td>
  166. <td class="mini"><a href="" class="help" rel="dymek_galeria1">[?]</a></td>
  167. <td><input type="file" name="plik" class="dlugi"/></td>
  168. </tr>
  169. <tr>
  170. <td>Kategoria:</td>
  171. <td class="mini"><a href="" class="help" rel="dymek_galeria2">[?]</a></td>
  172. <td>'.$lista.'</td>
  173. </tr>
  174. <tr>
  175. <td>Tytuł:</td>
  176. <td class="mini"><a href="" class="help" rel="dymek_galeria3">[?]</a></td>
  177. <td><input type="text" name="f_tytul" class="dlugi" /></td>
  178. </tr>
  179. <tr>
  180. <td>Opis:</td>
  181. <td class="mini"><a href="" class="help" rel="dymek_galeria4">[?]</a></td>
  182. <td><textarea name="f_opis" class="dlugi" style="height:100px"></textarea></td>
  183. </tr>
  184. <tr>
  185. <td>Autor:</td>
  186. <td class="mini"><a href="" class="help" rel="dymek_galeria5">[?]</a></td>
  187. <td><input type="text" name="f_autor" class="dlugi" /></td>
  188. </tr>
  189. <tr>
  190. <td></td>
  191. <td class="mini"><a href="" class="help" rel="dymek_galeria6">[?]</a></td>
  192. <td><input type="submit" value="Dodaj zdjęcie" /></td>
  193. </tr>
  194. </form>
  195. </table>';
  196.  
  197.  
thek
Powiem tylko tyle, że klucz i 'klucz' to dwie różne rzeczy. Bez ujęcia w apostrofy mamy do czynienia ze stałą, która powinna być gdzieś zdefiniowana w kodzie. Tu tego nie ma, więc PHP "zgaduje", iż w tym kontekście chodzi o nazwę klucza, ale sypie uwagą, że to robi. Musisz po prostu ująć klucze w apostrofy i notice'y znikną. Szkoda tylko, że 2 lata od rejestraci tak podstawowych rzeczy nie umiesz samodzielnie rozwiązać.
bigbadcompany
Hah dzięki smile.gif Tak na marginesie dopiero jak napisałeś to zauważyłem, że plik w którym to poprawiłem leży na pulpicie a ten nieruszony w htdocs w xampie. Edytuje, edytuje a tu panie błędy nie znikają. Dzięki i sorka za trucie.

Miałem sobie odpuścić ale chciałbym to dokończyć. smile.gif

Został mi ostatni błąd mianowicie Notice: Undefined index: file in C:\xampp\htdocs\admin\inc\fotki.inc.php on line 86 odnosi się do liniki poniżej występuje po dodaniu zdjęcia. Nie bardzo wiem która zmianna jest niezdefiniowana.

  1. $nowaNazwaShort=md5( time( ) . $_FILES[ 'file' ][ 'name' ] ) . '.'.$ext;
nospor
Przecież masz napisane jak wół:
indeks 'file' nie istnieje. Jak możesz nie wiedzieć co jest niezdefiniowane, skoro jak wół masz napisane co....

Masz:
$_FILES[ 'file' ]
I php ci wyraźnie mówi, że 'file' nie istnieje.
Teraz rusz głową i zobacz co do tej pory wyciągałeś z $_FILES. Bo ani razu nie był to 'file'
bigbadcompany
Przepraszam faktycznie. nie file tylko plik
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.