Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] dodaje do bazy ciągle Array
fredzio90
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


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 ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
flv
post
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

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


Próbujesz zapisać do bazy funkcje która zwraca tablice, przed zapisem ją serializuj.

Ten post edytował flv 2.07.2007, 22:37:12
Go to the top of the page
+Quote Post
fredzio90
post
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


mógłbyś mi to wytłumaczyć w czym tkwi problem bo nie zabardzi kumam rolleyes.gif
Go to the top of the page
+Quote Post
flv
post
Post #4





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

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


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()

Ten post edytował flv 2.07.2007, 22:56:52
Go to the top of the page
+Quote Post
fredzio90
post
Post #5





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


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...
Go to the top of the page
+Quote Post
flv
post
Post #6





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

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


podaj najlepiej definicje tej funkcji getimagesize_remote..

Ten post edytował flv 2.07.2007, 23:07:15
Go to the top of the page
+Quote Post
fredzio90
post
Post #7





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


Już sobię poradziłem, musiałem uporządkować if-y

Ten post edytował fredzio90 2.07.2007, 23:47:50
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: 21.08.2025 - 02:25