Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Wgrywanie zdjęć do bazy BLOB
imlegend
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 22.12.2012

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


Hej,

mam taki problem, wgrywam do bazy mysql obrazek i niby wszystko jest ok ale gdy wchodzę do niej to jest cały rekord(login, email, pass i data) tylko pole z moim obrazkiem(data) ma wartośc 0 B
i obrazek nie wyświetla się.
Gdy edytuje rekord z poziomu bazy danych to wybieram plik, wgrywam i wszystko jest ok - wyświetla się.

może mam błąd w formularzu (bo już nie wiem):
  1. <form method="post" action="" enctype="multipart/form-data">
  2. <label for="login">Login:</label>
  3. <input maxlength="32" type="text" name="login" id="login" />
  4.  
  5. <label for="pass">Hasło:</label>
  6. <input maxlength="32" type="password" name="pass" id="pass" />
  7.  
  8. <label for="pass_again">Hasło (ponownie):</label>
  9. <input maxlength="32" type="password" name="pass_v" id="pass_again" />
  10.  
  11. <label for="email">Email:</label>
  12. <input type="text" name="email" maxlength="50" id="email" />
  13.  
  14. <label for="email_again">Email (ponownie):</label>
  15. <input type="text" maxlength="255" name="email_v" id="email_again" /><br />
  16.  
  17. <label for "data">Zdjęcie:</label>
  18. <input type ="file" name = "data" id = "data" />
  19.  
  20.  
  21. <input type="hidden" name="send" value="1" />
  22. <input type="submit" value="Zarejestruj" />
  23. </form>


fragment kodu odpowiedzialny za wgranie do bazy:

  1. mysql_query("INSERT INTO users (login, email, pass, data) VALUES('$login','$email','$pass','$data');") or die ('<p class="error">Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika.</p>');


ktoś ma pomysł ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
imlegend
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 22.12.2012

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


hm, spróbuję z tym co napisałeś (B S)

słyszałem że lepiej nie przechowywać, może rzeczywiście przebuduję.



odświeżę jednak temat bo potrzebuje zdjęć w bazie danych a nie tylko tytułów, podam też cały kod bo tak jak napisałem w pierwszym poście ciągle mam w rubryce data wartość 0B po wgraniu zdjecia.


plik: register.php
  1.  
  2. <?php
  3.  
  4.  
  5.  
  6. require 'header.php'; // Dołącz początkowy kod HTML
  7. require 'config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą
  8. require_once 'user.class.php';
  9.  
  10. /**
  11.  * Sprawdź czy formularz został wysłany
  12.  */
  13. if ($_POST['send'] == 1) {
  14. // Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection
  15. $login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
  16. $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
  17. $pass_v = mysql_real_escape_string(htmlspecialchars($_POST['pass_v']));
  18. $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
  19. $email_v = mysql_real_escape_string(htmlspecialchars($_POST['email_v']));
  20.  
  21. /**
  22.   * Sprawdź czy podany przez użytkownika email lub login już istnieje
  23.   */
  24. $existsLogin = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login='$login' LIMIT 1"));
  25. $existsEmail = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE email='$email' LIMIT 1"));
  26.  
  27. $errors = ''; // Zmienna przechowująca listę błędów które wystąpiły
  28.  
  29.  
  30. // Sprawdź, czy nie wystąpiły błędy
  31. if (!$login || !$email || !$pass || !$pass_v || !$email_v ) $errors .= '- Musisz wypełnić wszystkie pola<br />';
  32. if ($existsLogin[0] >= 1) $errors .= '- Ten login jest zajęty<br />';
  33. if ($existsEmail[0] >= 1) $errors .= '- Ten e-mail jest już używany<br />';
  34. if ($email != $email_v) $errors .= '- E-maile się nie zgadzają<br />';
  35. if ($pass != $pass_v) $errors .= '- Hasła się nie zgadzają<br />';
  36.  
  37. /**
  38.   * Jeśli wystąpiły jakieś błędy, to je pokaż
  39.   */
  40. if ($errors != '') {
  41. echo '<p class="error">Rejestracja nie powiodła się, popraw następujące błędy:<br />'.$errors.'</p>';
  42. }
  43.  
  44. /**
  45.   * Jeśli nie ma żadnych błędów - kontynuuj rejestrację
  46.   */
  47. else {
  48.  
  49. // Posól i zasahuj hasło
  50. $pass = user::passSalter($pass);
  51.  
  52. // Zapisz dane do bazy
  53. mysql_query("INSERT INTO users (login, email, pass, data) VALUES('$login','$email','$pass', '$data');") or die ('<p class="error">Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika.</p>');
  54.  
  55.  
  56.  
  57.  
  58.  
  59. echo '<p class="success">'.$login.', zostałeś zarejestrowany.
  60. <br /><a href="login.php">Logowanie</a></p>';
  61. }
  62. }
  63. ?>
  64.  




plik: profile.php


  1. <?php
  2.  
  3.  
  4. require 'header.php'; // Dołącz początkowy kod HTML
  5. require 'config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą
  6. require_once 'user.class.php';
  7.  
  8. /**
  9.  * Tylko dla zalogowanych użytkowników
  10.  */
  11. if (!user::isLogged()) {
  12. echo '<p class="error">Przykro nam, ale ta strona jest dostępna tylko dla zalogowanych użytkowników.</p>';
  13. }
  14.  
  15. else {
  16. $id = $_GET['id'];
  17.  
  18. /**
  19.   * Sprawdź czy użytkownik o podanym ID istnieje
  20.   */
  21. $userExist = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE id = '$id'"));
  22.  
  23. // Użytkownik nie istnieje
  24. if ($userExist[0] == 0) {
  25. die ('<p>Przykro nam, ale użytkownik o podanym identyfikatorze nie istnieje.</p>');
  26. }
  27.  
  28. /**
  29.   * Użytkownik istnieje, tak więc pokaż jego profil
  30.   */
  31.  
  32. // Zapisz dane użytkownika o podanym ID, do zmiennej $profile
  33. $profile = user::getDataById ($id);
  34.  
  35. echo '<h1>Profil użytkownika '.$profile['login'].'</h1>';
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45. echo '<b>Nick:</b> '.$profile['login'].'<br />';
  46. echo '<b>Email:</b> '.$profile['email'].'<br />';
  47. echo '<b>zdjecie:</b> <img src = "$data" /> ' ;
  48. echo '<b>tytul:</b> '.$profile['title'].'<br />';
  49.  
  50. echo 'zdjecie : <img src="data:image/jpeg;base64,' . base64_encode( $profile['$data'] ) . '" />';
  51.  
  52. }
  53.  
  54.  
  55.  
  56. ?>
  57.  
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 10:23