Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dodawanie zdjęcia do bazy, Ważne, pilne
andrzejlechniak
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

Ostrzeżenie: (0%)
-----


Witam
Mam problem. Mam skrypt, w którym dodaję zdjęcie wraz z opisem do bazy danych, czyli PHP + MySQL. I... no i właśnie nic się nie dzieje. Nie mogę dodać zdjęcia, wyrzuca mi [mój] błąd, choć fragment skryptowy dodający dane do bazy powinien działać dobrze bo podobny mam w innych skryptach, chociaż zatrzymuje się akcja na tym, że zdjęcie się nie dodaje. Taki jest oto skrypt:

  1. $zdjecie = $_POST['zdjecie'];
  2. $ImageDir = "galeria/";
  3. $uploadfile = $ImageDir.basename($_FILES['zdjecie']['name']);
  4.  
  5. if(move_uploaded_file($_FILES['zdjecie']['tmp_name'],$uploadfile))
  6. {
  7. if(isset($_POST['submit']))
  8. {
  9. $id_kategorii = 1;
  10. $tytul = $_POST['tytul'];
  11. $autor = $_POST['autor'];
  12. $nazwa = $_POST['nazwa']; //nazwa zdjęcie - np. zdjęcie.jpg
  13. $opis = $_POST['opis'];
  14.  
  15. if(empty($tytul) || empty($autor) || empty($nazwa) || empty($opis))
  16. {
  17. echo '<div class="niedodanie_komentarza">
  18. Wiadomość nie została dodana. Jedno z pól jest puste! Spróbuj jeszcze raz.
  19. </div>';
  20. }
  21. else if(strlen($_POST['tytul'])<4)
  22. {
  23. echo '<div class="niedodanie_komentarza">
  24. Wiadomość nie została dodana. Pole TYTUŁ: <span>'.$tytul.'</span> jest za krótkie! Spróbuj jeszcze raz.
  25. </div>';
  26. }
  27. else if(strlen($_POST['autor'])<4)
  28. {
  29. echo '<div class="niedodanie_komentarza">
  30. Wiadomość nie została dodana. Pole AUTOR: <span>'.$autor.'</span> jest za krótkie! Spróbuj jeszcze raz.
  31. </div>';
  32. }
  33. else if(strlen($_POST['nazwa'])<4)
  34. {
  35. echo '<div class="niedodanie_komentarza">
  36. Wiadomość nie została dodana. Pole TREŚĆ: <span>'.$nazwa.'</span> jest za krótkie! Spróbuj jeszcze raz.
  37. </div>';
  38. }
  39. else if(strlen($_POST['opis'])<4)
  40. {
  41. echo '<div class="niedodanie_komentarza">
  42. Wiadomość nie została dodana. Pole AUTOR: <span>'.$opis.'</span> jest za krótkie! Spróbuj jeszcze raz.
  43. </div>';
  44. }
  45. else
  46. {
  47. $sql = "INSERT INTO zdjecia (tytul, id_kategorii, data, autor, nazwa, status, opis)
  48. VALUES ('$tytul','$id_kategorii',CURDATE(),'$autor','$nazwa','$status','$opis');";
  49. $result = mysql_query($sql) or die( mysql_error());
  50. if($result)
  51. {
  52. echo '<div class="admin_info_1">
  53. Dodano wiadomość do bazy! | Aby zobaczyć aktualną listę wpisów
  54. <a href="...?id=admin_galeria" title="zobacz odświeżenie strony">odśwież</a>
  55. stronę.
  56. </div>';
  57. }
  58. else
  59. {
  60. echo '<div class="admin_info_2">
  61. Nie udało się dodać wiadomości do bazy! Spróbuj ponownie.
  62. </div>';
  63. }
  64. }
  65. }
  66. else
  67. {
  68. echo 'Nie udało się';
  69. }
  70. }
  71.  
  72. ///////////////////////////////////!!!!!------------Formularz przesyłania zdjęcia--------------!!!!!!////////////////////
  73. echo '<form enctype="multipart/form-data" action="...php?id=multimedia_dodaj_zdjecie" method="POST">
  74. <div class="log_form">
  75. <input name="zdjecie" type="file" />
  76. </div>
  77.  
  78. <div class="log_form">
  79. Podaj tytuł:
  80. <input type="text" name="tytul" />
  81. </div>
  82.  
  83. <div class="log_form">
  84. Przedstaw się:
  85. <input type="text" name="autor" />
  86. </div>
  87.  
  88. <div class="log_form">
  89. Nazwa zdjęcia :
  90. <input type="text" name="nazwa" />
  91. </div>
  92.  
  93. <div class="log_form">
  94. Napisz opis zdjęcia:<br />
  95. <textarea cols="32" rows="10" name="opis" maxlength="250"></textarea>
  96. </div>
  97.  
  98. <hr />
  99. <div class="log_form">
  100. <input type="submit" value="Dodaj" />
  101. </div>
  102. </form>';


Bardzo proszę o pomoc. Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
untorched
post
Post #2





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Może tak udostępnisz jaki błąd Ci się pojawia? Bo tak domyślać to ja się mogę...
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

Ostrzeżenie: (0%)
-----


Generalnie żaden błąd się nie pojawia oprócz tekstu 'Nie udało się' czyli po drugim 'ifie' if(isset[$_POST])... ale nic dalej nie działa. Wnioskuję, że tutaj gdzieś jest błąd, tzn. w przekazywaniu pliku do folderu. Tak myślę, bo dalej skrypt nie idzie. Jak dodaje plik graficzny to właśnie tak mam, a bez niego w ogóle pojawia się komunikat 'nie wybrano pliku' ale to jest już mniej istotne. Ale jeśli chodzi o działanie skryptu, to nawet nie idzie do sprawdzania długości znaków czy tego CZY pola nie są puste. Więc szczerze nie wiem czemu nic się nie wykonuje
Go to the top of the page
+Quote Post
untorched
post
Post #4





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


W formularzu ma być..
  1. <input type="submit" name="submit" value="Dodaj" />
Go to the top of the page
+Quote Post
potreb
post
Post #5





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Tak troche źle robisz. Dużo ifów i sie gubisz. Przede wszsytkim, albo zastosuj klasę walidacji lub zastosuj prostą metodę do sprawdzania błędów np:
  1. $error = array();
  2. if(isset($_POST['title']) && strlen($_POST['title']) < 4) $error[] = "Nie wypełniono pola tytuł!";
  3. if(isset($_FILES['plik']['name']) && strlen($_FILES['plik']['name']) < 2) $error[] = "Nie wybrano pliku!";
  4.  
  5. if(count($error) > 0) {
  6. //foreach bledow
  7. } else {
  8. //zapisuje dane
  9. }


Weź sprawdzaj na poziomie błędów, echując sobie jakieś wartości czy się dobrze wykonuje skrypt, używaj var_dump dla funkcji i zmiennych, wtedy będziesz wiedział co jest nie tak.


--------------------

Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #6





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

Ostrzeżenie: (0%)
-----


Działa, dzięki. Taka mała głupotka a denerwuje jak... W każdym razie działa a to jest najważniejsze. Dzieki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:03