Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Dodawanie pliku na serwer
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam.
Mam problem. Wykonałem skrypt dodawania pliku na serwer z wrzuceniem nazwy do bazy danych i przy tym jeszcze kilku innych informacji. Tylko za każdym razem(nawet gdy sprawdzany format pliku jest dobry) wyrzuca komunikat, że zły format pliku. Mógłbym prosić o pomoc?

skrypt:

  1. <?php
  2. if(!$_SESSION['access'] || !$_SESSION['login'])
  3. {
  4. header('Location: index.php');
  5. }
  6. include('include/db.php');
  7. $nazwa = mysql_real_escape_string($_POST['nazwa']);
  8. $tresc = mysql_real_escape_string($_POST['tresc']);
  9. $adres_strony = mysql_real_escape_string($_POST['adres_strony']);
  10. $technologia = mysql_real_escape_string($_POST['technologia']);
  11. $data_wykonania = date('Y-m-d-G:i:s');
  12. $obrazek = mysql_real_escape_string($_POST['obrazek']);
  13. if (!isset($_POST['nazwa']))
  14. {
  15. echo '<div align="center"><form action="/cpadmin_dodaj_do_portfolio" enctype="multipart/form-data" method="post">
  16. <input type="hidden" name="send" value="1">
  17. Nazwa:<br /><input type="text" name="nazwa" value="Nazwa" /><br />
  18. Treść:<br /><textarea name="tresc" cols="50" rows="10">Treść</textarea><br />
  19. Adres strony:<br><input type="text" name="adres_strony" value="Adres strony" /><br />
  20. Technologia:<br><input type="text" name="technologia" value="Technologia" /><br />
  21. Miniaturka:<br /><input type="file" name="obrazek" /><br /><br />
  22. <input class="przycisk_admin" name="dodaj" type="submit" value="Dodaj">
  23. <input class="przycisk_admin" name="wyczysc" type="reset" value="Wyczyść">
  24. </form></div>';
  25. }
  26. elseif(empty($_POST["nazwa"]) || empty($_POST["tresc"]) || empty($_POST["adres_strony"]) || empty($_POST["technologia"]) and isset($_POST['nazwa']))
  27. {
  28. echo '<div align="center">Nie wypełniono wszystkich pól.</div><meta http-equiv="Refresh" content="3; url=/cpadmin_dodaj_do_portfolio" /><br />';
  29. }
  30. else
  31. {
  32. $plik_tmp = $_FILES['plik']['tmp_name'];
  33. $plik_nazwa = $_FILES['plik']['name'];
  34. $plik_rozmiar = $_FILES['plik']['size'];
  35. $plik_type = $_FILES['plik']['type'];
  36. $ext1 = substr( $plik_nazwa, strrpos($plik_nazwa, '.' ) +1 );
  37. if(is_uploaded_file($plik_tmp))
  38. {
  39. if (($ext2 == 'jpg') || ($ext2 == 'JPG') || ($ext2 == 'jpeg') || ($ext2 == 'JPEG') || ($ext2 == 'png') || ($ext2 == 'PNG') || ($ext2 == 'gif') || ($ext2 == 'GIF'))
  40. {
  41. move_uploaded_file($plik_tmp, "portfolio/$plik_nazwa");
  42. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  43. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!<br /><br />";
  44. $zapytanie = "INSERT INTO `portfolio` (`nazwa`, `tresc`, `adres_strony`, `technologia`, `data_wykonania`, `obrazek`) VALUES ('".$nazwa."', '".$tresc."', '".$adres_strony."', 'portfolio/".$plik_nazwa."')";
  45. $idzapytania = mysql_query($zapytanie);
  46. }
  47. }
  48. else
  49. {
  50. echo '<div style="text-align:center;">Zły format pliku!<br /><a style="text-decoration: none;" href="/cpadmin_dodaj_do_portfolio">Wróć</a></div><br />';
  51. }
  52. }
  53. if($_POST['send'])
  54. {
  55. if($idzapytania)
  56. {
  57. echo '<div align="center">Notka została dodana.<br /><a style="text-decoration: none;" href="/cpadmin">Wróć do Panelu Administratora</a></div><br />';
  58. }
  59. else
  60. {
  61. echo '<div style="text-align:center;">Nie udało się dodać notki. Proszę spróbować za jakiś czas!<br /><a style="text-decoration: none;" href="/cpadmin">Wróć do Panelu Administratora</a></div><br />';
  62. }
  63. }
  64. mysql_close($connect);
  65. ?>


PS. Serwer, na którym stoi strona to OVH

Rozwiązane

PS. Plik dodaje, ale problem z dodawaniem rekordu do bazy danych coś jest nie tak, bo wyrzuca komunikat: Nie udało się dodać notki. Proszę spróbować za jakiś czas! i gdy zaglądam w bazę to rzeczywiście rekordu nie ma.

ZAPYTANIE:

  1. $zapytanie = "INSERT INTO `portfolio` (`nazwa`, `tresc`, `adres_strony`, `technologia`, `data_wykonania`, `obrazek`) VALUES ('".$nazwa."', '".$tresc."', '".$adres_strony."', 'portfolio/".$plik_nazwa."')";
  2. $idzapytania = mysql_query($zapytanie);
elmozaur
linia 22: masz napisane nazwa obrazek

a przy wysylaniu linia 33-36 masz podana nazwe file
adrianozo
Już wszystko naprawione.
Dzięki smile.gif
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.