Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Upload pliku na serwer, a jego nazwy do bazy danych
Forum PHP.pl > Forum > Przedszkole
loguyaro
Witam

Mam taki kod który powinien dodać do bazy danych text, wysłać plik ze zdjęciem do folderu na serwerze a nazwę pliku zmienić i umieścić w tabeli w bazie danych.

Problem polega na tym, że text sie bez problemu wgrywa, a zdjęcie nie wysyła się na serwer ani nazwa nie jest umieszczana w bazie danych.

Proszę o pomoc.

Gdzie tu jest błąd??


  1.  
  2.  
  3. <?php
  4.  
  5. // artykul_wyslij.php
  6. // dodanie / modyfikacja rekordu artykułu
  7.  
  8.  
  9.  
  10.  
  11.  
  12. function lacz_bd()
  13. {
  14. $wynik = new mysqli ('localhost', 'mvua', 'haslo', 'mvua');
  15. if (!$wynik)
  16. return false;
  17.  
  18. return $wynik;
  19. }
  20.  
  21. function pobierz_rekord_autora($nazwa_uz)
  22. {
  23. $lacz = lacz_bd();
  24. $sql = "select * from autorzy where nazwa_uz = '$nazwa_uz'";
  25. $wynik = $lacz->query($sql);
  26. return($wynik->fetch_assoc());
  27. }
  28.  
  29. function pobierz_rekord_artykulu($artykul)
  30. {
  31. $lacz = lacz_bd();
  32. $sql = "select * from artykuly where id = '$artykul'";
  33. $wynik = $lacz->query($sql);
  34. return($wynik->fetch_assoc());
  35. }
  36.  
  37.  
  38. ////////////////////////////////////////////////////////////////////////////////////
  39.  
  40. function loguj($nazwa_uz, $haslo)
  41. // sprawdzenie nazwy użytkownika i hasła w bazie danych
  42. // jeżeli prawdziwe, zwraca true
  43. // w przeciwnym wypadku zwraca false
  44. {
  45. // łączenie z bazą danych
  46. $lacz = lacz_bd();
  47. if (!$lacz)
  48. return 0;
  49.  
  50. $wynik = $lacz->query("select * from autorzy
  51. where nazwa_uz='$nazwa_uz'
  52. and haslo = sha1('$haslo')");
  53. if (!$wynik)
  54. return 0;
  55.  
  56. if ($wynik->num_rows>0)
  57. return 1;
  58. else
  59. return 0;
  60. }
  61.  
  62. function sprawdz_uwierz_uzyt()
  63. // sprawdzenie zalogowania i powiadomienie jeżeli nie
  64. {
  65. global $_SESSION;
  66. if (isset($_SESSION['uwierz_uzyt']))
  67. return true;
  68. else
  69. return false;
  70. }
  71.  
  72. function formularz_logowania()
  73. {
  74. ?>
  75. <form action="logowanie.php" method="post">
  76. <table border="0">
  77. <tr>
  78. <td>Nazwa użytkownika</td>
  79. <td><input size="16" name="nazwa_uz"></td>
  80. </tr>
  81. <tr>
  82. <td>Hasło</td>
  83. <td><input size="16" type="password" name="haslo"></td>
  84. </tr>
  85. </table>
  86. <input type="submit" value="Logowanie">
  87. </form>
  88. <?php
  89. }
  90.  
  91. function sprawdz_uprawnienia($nazwa_uz, $artykul)
  92. // sprawdzenie, czy użytkownik ma prawo zmieniać wskazany artykuł
  93. {
  94. // połączenie z bazą danych
  95. $lacz = lacz_bd();
  96. if (!$lacz)
  97. return 0;
  98.  
  99. if(!$_SESSION['uwierz_uzyt'])
  100. return 0;
  101.  
  102. $wynik = $lacz->query("select * from uprawnienia_autora ua, artykuly a
  103. where ua.autor = '{$_SESSION['uwierz_uzyt']}' and
  104. ua.strona = a.strona and
  105. a.id = $artykul
  106. ");
  107. if (!$wynik)
  108. {
  109. return 0;
  110. }
  111. if ($wynik->num_rows>0)
  112. {
  113. return 1;
  114. }
  115. else
  116. {
  117. return 0;
  118. }
  119. }
  120.  
  121. //////////////////////////////////////////////////////////////////////////////////////
  122.  
  123. function zapytanie_select($nazwa, $zapytanie, $domyslny='')
  124. {
  125.  
  126. $lacz = lacz_bd();
  127.  
  128. $wynik = $lacz->query($zapytanie);
  129.  
  130. if (!$wynik)
  131. return(0);
  132.  
  133. $select = "<SELECT NAME=\"$nazwa\">";
  134. $select .= "<OPTION VALUE=\"\">-- Wybór --</OPTION>";
  135.  
  136. for ($i=0; $i < $wynik->num_rows; $i++) {
  137. $wiersz = $wynik->fetch_row();
  138. $opt_kod = $wiersz[0];
  139. $opt_opis = $wiersz[1];
  140. $select .= "<OPTION VALUE=\"$opt_kod\"";
  141. if ($opt_kod == $domyslny) {
  142. $select .= 'SELECTED';
  143. }
  144. $select .= ">$opt_opis</OPTION>";
  145. }
  146. $select .= "</SELECT>\n";
  147.  
  148. return($select);
  149.  
  150. }
  151.  
  152. ////////////////////////////////////////////////////////////////////////////////////////
  153.  
  154. $lacz = lacz_bd();
  155.  
  156. $naglowek = $_REQUEST['naglowek'];
  157. $strona = $_REQUEST['strona'];
  158. $czas = time();
  159.  
  160. if ( (isset($_FILES['html']['name']) &&
  161. (dirname($_FILES['html']['type']) == 'text') &&
  162. is_uploaded_file($_FILES['html']['tmp_name'])))
  163. {
  164. $tekst_artykulu = file_get_contents($_FILES['html']['tmp_name']);
  165. }
  166. else
  167. {
  168. $tekst_artykulu = $_REQUEST['tekst_artykulu'];
  169. }
  170.  
  171. $tekst_artykulu = addslashes($tekst_artykulu);
  172.  
  173. if (isset($_REQUEST['artyklu']) && $_REQUEST['artykul']!='')
  174. { // uaktualnienie
  175. $artykul = $_REQUEST['artykul'];
  176.  
  177. $sql = "update artykuly
  178. set naglowek = '$naglowek',
  179. tekst_artykulu = '$tekst_artykulu',
  180. strona = '$strona',
  181. zmodyfikowany = $czas
  182. where id = $artykul";
  183. }
  184. else { // nowy artykuł
  185. $sql = "insert into artykuly
  186. (naglowek, tekst_artykulu, strona, autor, utworzony, zmodyfikowany)
  187. values
  188. ('$naglowek', '$tekst_artykulu', '$strona', '"
  189. .$_SESSION['uwierz_uzyt']."', $czas, $czas)";
  190. }
  191.  
  192. $wynik = $lacz->query($sql);
  193.  
  194. if (!$wynik)
  195. {
  196. echo " Wystąpił błąd bazy danych podczas wykonywania <pre>$sql</pre>";
  197. echo mysqli_error();
  198. }
  199.  
  200.  
  201. if ( (isset($_FILES['image']['name']) &&
  202. is_uploaded_file($_FILES['image']['tmp_name'])))
  203. {
  204.  
  205. if (!isset($_REQUEST['artykul']) || $_REQUEST['artykul'] == '')
  206. {
  207. $artykul = mysqli_insert_id($lacz);
  208. }
  209. $typ = basename($_FILES['image']['type']);
  210.  
  211. switch ($typ) {
  212. case 'jpeg':
  213. case 'pjpeg': $nazwapliku = "obrazki/$artykul.jpg";
  214. move_uploaded_file($_FILES['image']['tmp_name'], '../'.$nazwapliku);
  215. $sql = "update artykuly
  216. set obrazek = '$nazwapliku'
  217. where id = $artykul";
  218. $wynik = $lacz->query($sql);
  219. break;
  220. default: echo 'Nieprawidłowy format obrazka: '.
  221. $_FILES['image']['type'];
  222. }
  223. }
  224.  
  225. header('Location: '.$_REQUEST['przeznaczenie']);
  226.  
  227. ?>
  228.  
  229.  
  230.  
  231.  
Sephirus
Masz ustawione w formularzu:

  1. <form enctype="multipart/form-data" ... >


questionmark.gif
loguyaro
Tak

Poniżej kod z formularzem

  1.  
  2.  
  3. <?php
  4.  
  5.  
  6. if (isset($_REQUEST['artykul']))
  7. $a = pobierz_rekord_artykulu($_REQUEST['artykul']);
  8.  
  9. ?>
  10.  
  11. <form action="artykul_wyslij.php" method="post" enctype="multipart/form-data">
  12. <input type="hidden" name="artykul" value="<?php print $_REQUEST['artykul'];?>">
  13. <input type="hidden" name="przeznaczenie"
  14. value="<?php print $_SERVER['HTTP_REFERER'];?>">
  15. <table class="form_add">
  16.  
  17. <tr>
  18. <td>Nagłówek<td>
  19. </tr>
  20. <tr>
  21. <td><input size="80" name="naglowek"
  22. value="<?php print $a['naglowek'];?>"></td>
  23. </tr>
  24.  
  25. <tr>
  26. <td>Strona</td>
  27. </tr>
  28. <tr>
  29. <td>
  30. <?php
  31. if (isset($_REQUEST['artykul']))
  32. {
  33. $sql = "select s.kod, s.opis
  34. from strony s, uprawnienia_autora ua, artykuly a
  35. where s.kod = ua.strona and
  36. ua.autor = a.autor and
  37. a.id = ".$_REQUEST['artykul'];
  38. }
  39. else
  40. {
  41. $sql = "select s.kod, s.opis
  42. from strony s, uprawnienia_autora ua
  43. where s.kod = ua.strona and
  44. ua.autor = '{$_SESSION['uwierz_uzyt']}'";
  45. }
  46. echo zapytanie_select('strona', $sql, $a['strona']);
  47. ?>
  48. </td>
  49. </tr>
  50.  
  51. <tr>
  52. <td> Tekst artykułu (może zawierać znaczniki HTML) </td>
  53. </tr>
  54. <tr>
  55. <td><textarea class="ckeditor" cols="80" rows="7" name="tekst_artykulu"
  56. wrap="virtual"><?php echo $a['tekst_artykulu'];?></textarea>
  57. </td>
  58. </tr>
  59.  
  60. <tr>
  61. <td> Lub wysłanie pliku HTML </td>
  62. </tr>
  63. <tr>
  64. <td><input type="file" name="html" size="40"></td>
  65. </tr>
  66.  
  67. <tr>
  68. <td>Obrazek</td>
  69. </tr>
  70. <tr>
  71. <td><input type="file" name="obrazek" size="40"></td>
  72. </tr>
  73.  
  74. <?php
  75. if ($a[obrazek]) {
  76. $rozmiar = GetImageSize('../'.$a['obrazek']);
  77. $szerokosc = $rozmiar[0];
  78. $wysokosc = $rozmiar[1];
  79. ?>
  80. <tr>
  81. <td>
  82. <img src="<?php echo '../'.$a['obrazek'];?>"
  83. width="<?php print $szerokosc;?>" height="<?php print $wysokosc;?>">
  84. </td>
  85. </tr>
  86. <?php
  87. }
  88. ?>
  89.  
  90. <tr>
  91. <td align="center"><input type="submit" value="Wysłanie"></td>
  92. </tr>
  93.  
  94. </table>
  95. </form>
  96.  
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.