Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Pętla foreach ze zmiennymi $_POST do zapytanie MySQL
Forum PHP.pl > Forum > Przedszkole
Volume
Mam taki problem, że robie przenosiny mojego skryptu na inny serwer i tam pojawia sie problem przy dodawniu rekordów do tabeli.
Zrobiłem sobie w pętli uproszczenia dla zmiennych POST, wszystko to działało na moim serwerze natomiast na obecnym nie chce działać - a dokładnie chodzi o to, że zmienne z formularza po przetworzeniu widać w echo - a nie chca sie zapisywać w bazie.

  1. foreach($_POST as $idx=>$wartosc)
  2. {
  3. $idx=$_POST[$idx]; // plus np. rozne funkcje n zmiennych post
  4. echo $idx.'<br />'; //to wyswietla normalnie
  5. }
  6. mysql_query("UPDATE $tabelka2 SET cena_sniadan='$cena_sniadan', cena_obiadow='$cena_obiadow', cena_kolacji='$cena_kolacji' WHERE id_str=1"); // nie zapisuje... - tzn zapisuje jako puste pola

Jeśli natomiast zmiennym przypisze bez petli zamienniki:
  1. $cena_sniadan=$_POST['cena_sniadan'];
  2. $cena_obiadow=$_POST['cena_obiadow'];
  3. itd.

To dziala ok.
Skąd taka blokada i czy jest jakas opcja/sposob aby to jakos odblokowac, w tym przypadku jest malo zmiennych wiec mozna to recznie poprawic, ale w wielu innych przypadkach mam po kilkanascie/dziesiat zmiennych - jak sobie z tym poradzic?
lobopol
Na localu masz na 99,9% register_global = on co jest bardzo złą praktyką, bez tej pętli na lokalu ci powinno działać bo ona w tym wypadku praktycznie nic nie robi.
Volume
Tak zgadza sie na moim pierwszym serwerze gdzie dziala foreach mam register_globals="on" na nowym mam off.
To jak sie powinno umieszczac zmienne POST w zapytaniu mysql? Jedyne wzjscie to przypisywac kazdej zmiennej POST do zapisania inna zmienna?:
  1. $cena_sniadan=$_POST['cena_sniadan'];
  2. $cena_obiadow=$_POST['cena_obiadow'];
  3. itd.

Sprawdzalem jak daje do zapytania mysql zmienne w postaci tablicy POST to dzieje sie wlasnie to samo tak jak bym uzyl petli - czyli zapytanie mysql nie widzi tresc zmiennych. Mam rozumiec, ze to jest celowe ze wzgledow bezpieczenstwa. Jak wiec to sie powinno fachowo robic?
lobopol
Przypisywać zmienne i odpowiednio je walidować.
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.