Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] dodaje do bazy ciągle Array
Forum PHP.pl > Forum > Przedszkole
fredzio90
otóż mam problem, mam formularz, w nim pole foto, w nim domyślniej value="http://"

i w funckji dodaj ącej odczytuje ją, i jeżeli ma dane wartości pokazuje je i przemieniam, a funckja wygląda tak:
  1. <?php
  2. function add_dj_sql() {
  3. global $rank_dj_tbl, $PHP_SELF;
  4. global $_nick, $title, $imie, $nazwisko, $www, $opis, $foto, $wiek_d, $wiek_m, $wiek_r, $hobby;
  5.  
  6. $wiek = $wiek_d.'-'.$wiek_m.'-'.$wiek_r;
  7.  
  8.  
  9. if($www=='http://') $www = '';
  10.  
  11. ##Ustawienia Rozmiaru Zdjęcia
  12. $max_szer = '600'; // Wartość w pixelach
  13. $max_wys = '600'; //Także wartość w pixelach
  14. ## END
  15.  
  16. $foto = getimagesize_remote($foto);
  17.  
  18. if($foto=='' OR $foto=='http://') {
  19. if($foto[0]>$max_szer OR $foto[1]>$max_wys)
  20. $mess = "Zdjęcie nie może przekraczać rozmiarów dopuszczalnych, czyli $max_szer x $m
    ax_wys"
    ;
  21. $foto = '';
  22. }
  23.  
  24. if($foto=='' OR $foto=='http://') $foto = '';
  25.  
  26. $sql = mysql_query("INSERT INTO $rank_dj_tbl VALUES(NULL, '$_nick', '$title', '$imie', '$nazwisko', '$hobby', '$opis', '$foto', '$www', '$wiek', 0, '-', 0)");
  27.  
  28.  
  29. if($sql) {
  30. echo 'Dziękujemy '.$imie.' za zarejestrowanie się w naszym rankingu. Zanim zostanie twój profil dodany na 
    stronę, musi przejść weryfikację administratora<br />'
    .$mess.'';
  31. } else {
  32. echo 'Niestety podczas rejestrowania profilu DJ-a, wystąpił błąd. Aby jak najszybciej go naprawić, prosimy jak najszybciej wysłą
    ć treść błędu podaną poniżej:<br />'
    ;
  33. echo mysql_error($sql);
  34. }
  35.  
  36. }
  37. ?>


i niestey niezależnie czy dodam coś w tym polu ZAWSZE do danego pola dodaje wartość Array...

czy wiecie może co źle zrobiłem ?
flv
Próbujesz zapisać do bazy funkcje która zwraca tablice, przed zapisem ją serializuj.
fredzio90
mógłbyś mi to wytłumaczyć w czym tkwi problem bo nie zabardzi kumam rolleyes.gif
flv
Nic tu nie ma do tłumaczenia, poprostu twoja funkcja(bo w manualu nic na temat takiej funkcji nie znalazlem?) zwraca tablice(stąd te array), jakoś trzeba te dane zapisać do bazy więc najprościej serializować a później przy pobieraniu danych z kolumny odserializować te dane.

  1. <?php
  2. function add_dj_sql() {
  3. global $rank_dj_tbl, $PHP_SELF;
  4. global $_nick, $title, $imie, $nazwisko, $www, $opis, $foto, $wiek_d, $wiek_m, $wiek_r, $hobby;
  5.  
  6. $wiek = $wiek_d.'-'.$wiek_m.'-'.$wiek_r;
  7.  
  8.  
  9. if($www=='http://') $www = '';
  10.  
  11. ##Ustawienia Rozmiaru Zdjęcia
  12. $max_szer = '600'; // Wartość w pixelach
  13. $max_wys = '600'; //Także wartość w pixelach
  14. ## END
  15.  
  16. $foto = serialize(getimagesize_remote($foto));
  17.  
  18. if($foto=='' OR $foto=='http://') {
  19. if($foto[0]>$max_szer OR $foto[1]>$max_wys)
  20. $mess = "Zdjęcie nie może przekraczać rozmiarów dopuszczalnych, czyli $max_szer x $max_wys";
  21. $foto = '';
  22. }
  23.  
  24. if($foto=='' OR $foto=='http://') $foto = '';
  25.  
  26. $sql = mysql_query("INSERT INTO $rank_dj_tbl VALUES(NULL, '$_nick', '$title', '$imie', '$nazwisko', '$hobby', '$opis', '$foto', '$www', '$wiek', 0, '-', 0)");
  27.  
  28.  
  29. if($sql) {
  30. echo 'Dziękujemy '.$imie.' za zarejestrowanie się w naszym rankingu. Zanim zostanie twój profil dodany na stronę, musi przejść weryfikację administratora<br />'.$mess.'';
  31. } else {
  32. echo 'Niestety podczas rejestrowania profilu DJ-a, wystąpił błąd. Aby jak najszybciej go naprawić, prosimy jak najszybciej wysłąć treść błędu podaną poniżej:<br />';
  33. echo mysql_error($sql);
  34. }
  35.  
  36. }
  37. ?>

A przy zczytywaniu kolumny foto korzystaj z funkcji unserialize()
fredzio90
tej funkcji niema w manualu, to jest fuunckja odczytuje rozmiary obrazka, a adres jest jako LINK, np: google.pl/logo.gif ...

lecz teraz, jeżeli wartość w polu foto jest http:// to do bazy dodaje takie coś:

a:1:{i:0;s:4:"brak";}

a ja chce żeby poprostu puuste pole było...
flv
podaj najlepiej definicje tej funkcji getimagesize_remote..
fredzio90
Już sobię poradziłem, musiałem uporządkować if-y
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.