Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie obrazka do tabeli i wyswietlanie na stronie
Forum PHP.pl > Forum > PHP
salva
  1. <?php
  2.  
  3. // nawiazujemy polaczenie
  4. $connection = @mysql_connect('localhost', 'root', '')
  5. // w przypadku niepowodznie wyświetlamy komunikat
  6. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  7. // połączenie nawiązane ;-)
  8. echo "";
  9. // nawiązujemy połączenie z bazą danych
  10. $db = @mysql_select_db('projekt', $connection)
  11. // w przypadku niepowodzenia wyświetlamy komunikat
  12. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  13. // połączenie nawiązane ;-)
  14. echo "";
  15.  
  16.  
  17.  
  18. // dodajemy rekord do bazy
  19. $ins = @mysql_query("INSERT INTO zdjecia SET zdjecia='$zdjecia' ");
  20.  
  21. if($ins) echo "Rekord został dodany poprawnie";
  22. else echo "Błąd nie udało się dodać nowego rekordu";
  23.  
  24.  
  25.  
  26. $wynik = mysql_query("SELECT * FROM zdjecia")
  27. or die('Błąd zapytania');
  28.  
  29. if(mysql_num_rows($wynik) > 0) {
  30. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  31. echo "<table cellpadding=\"2\" border=1>
  32. <thead><tr> <th>ID</th> <th>Rodzaj</th> </tr></thead>";
  33. while($r = mysql_fetch_assoc($wynik)) {
  34.  
  35. echo "<tr>";
  36. echo "<td>".$r['id']."</td>";
  37. echo "<td>".$r['zdjecia']."</td>";
  38. echo "</tr>";
  39. }
  40.  
  41. echo "</table>";
  42. }
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. if (isset($_POST['powrot'])){
  51. header("Location: index.php");
  52. }
  53.  
  54.  
  55. ?>
  56.  
  57. <form action="index.php" method="post">
  58.  
  59. <input type="hidden" name="powrot" value="true">
  60.  
  61. <input type="submit" value="STRONA GLOWNA ">
  62. </form>
  63.  
  64. <FORM ACTION="zdjecia.php" METHOD="POST" ENCTYPE="multipart/form-data">
  65. Zdjęcie: </td><td><INPUT type="file" name="zdjecie">
  66. <input type="submit" name="ok" value="Wyślij zdjęcie do bazy"/>
  67. </FORM>


mam zrobiona tabele o nazwie zdjecia ( id, zdjecia typ:mediumblob ). dodaje mi rekord a w polu zdjecia pisze BLOB-0 B, no i oczywiscie na stronie nic sie nie wyswietla
!*!
Nie ten dział. Zdjęć jak i innych plików nie trzyma się w bazie. I Twoja $zmienna nie istnieje.
salva
  1. <?php
  2.  
  3. // nawiazujemy polaczenie
  4. $connection = @mysql_connect('localhost', 'root', '')
  5. // w przypadku niepowodznie wyświetlamy komunikat
  6. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  7. // połączenie nawiązane ;-)
  8. echo "";
  9. // nawiązujemy połączenie z bazą danych
  10. $db = @mysql_select_db('projekt', $connection)
  11. // w przypadku niepowodzenia wyświetlamy komunikat
  12. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  13. // połączenie nawiązane ;-)
  14. echo "";
  15.  
  16. $zdjecia = $_POST['zdjecia'];
  17. if($zdjecia ) {
  18.  
  19. // dodajemy rekord do bazy
  20. $ins = @mysql_query("INSERT INTO zdjecia SET zdjecia='$zdjecia' ");
  21.  
  22. if($ins) echo "Rekord został dodany poprawnie";
  23. else echo "Błąd nie udało się dodać nowego rekordu";
  24.  
  25. }
  26.  
  27. $wynik = mysql_query("SELECT * FROM zdjecia")
  28. or die('Błąd zapytania');
  29.  
  30. if(mysql_num_rows($wynik) > 0) {
  31. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  32. echo "<table cellpadding=\"2\" border=1>
  33. <thead><tr> <th>ID</th> <th>Rodzaj</th> </tr></thead>";
  34. while($r = mysql_fetch_assoc($wynik)) {
  35.  
  36. echo "<tr>";
  37. echo "<td>".$r['id']."</td>";
  38. echo "<td>".$r['zdjecia']."</td>";
  39. echo "</tr>";
  40. }
  41.  
  42. echo "</table>";
  43. }
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51. if (isset($_POST['powrot'])){
  52. header("Location: index.php");
  53. }
  54.  
  55.  
  56. ?>
  57.  
  58. <form action="index.php" method="post">
  59.  
  60. <input type="hidden" name="powrot" value="true">
  61.  
  62. <input type="submit" value="STRONA GLOWNA ">
  63. </form>
  64.  
  65. <FORM ACTION="zdjecia.php" METHOD="POST" ENCTYPE="multipart/form-data">
  66. Zdjęcie: </td><td><INPUT type="file" name="zdjecia">
  67. <input type="submit" name="ok" value="Wyślij zdjęcie do bazy"/>
  68. </FORM>


tak faktycznie

dodałem zmienna oraz poprawilem literowke w 65 linijce w name="zdjecia"

po dodaniu zmiennej nie dodaje mi zdjecia

jesli jednak nie dodam zmiennej to w tabeli pisze BLOB-36 B wiec zdjecie raczej sie dodaje natomiast jak chce wyswietli na stronie to wyskakuje mi:

C:WebServ empfile-uploadsphpADAF.tmp
!*!
Temat: Najczestsze bledy punkt 8 i 9
Poza tym nie zapisujesz żadnego pliku, gdzie masz $_FILE?
salva
a gdzie to mam dokladnie dodac??
!*!
POST nie pobiera Ci pliku, tylko przesyła informacje, możesz to sprawdzić przez var_dump, żeby zapisać plik, musisz go przechwycić przez $_FILES http://php.net/manual/en/reserved.variables.files.php
A jak już upierasz się przy bazie i masz pole blob to przyda Ci się jeszcze base64_encode.
http://stackoverflow.com/a/20564797
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.