Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]POST a foreach i strip_tags
Forum PHP.pl > Forum > Przedszkole
charlie-cherry
Chcę, aby wartości, które dodam do bazy MySql za pomocą $_POST były filtrowane przez strip_tags. Wszystkie po kolei, aby zaoszczędzić sobie pracy i pisania kodu na przyszłość.

  1. foreach($_POST AS $key => $value) {
  2. $_POST{$key} = strip_tags($value);
  3. }


I ten fragment kodu działa. Jednak kilkanaście linijek kodu znów używam foreach do operacji na POST:
  1. foreach($_POST['dana'] as $numer)

i mam błąd "Invalid argument supplied for foreach() ".

Sedno sprawy sprowadza się do tego, iż jeśli pierwszy foreach (ten na samej górze) jest w kodzie, to mam błąd. Jeśli natomiast usuwam pętlę ze strip_tags, to drugi foreach działa bez problemów.

Co robię źle?
bełdzio
  1. $_POST{$key}

zamień na

  1. $_POST[$key]
lukasamd
Spróbuj może zamiast pierwszego kodu dać:

Kod
$_POST = array_map('strip_tags', $_POST);
charlie-cherry
Obydwa rozwiązania nie sprawdziły się w tym przypadku - ten sam błąd. Jednak to co napisał bełdzio mi pomogło, gdyż mogłem po prostu ominąć przerabianie tej jednej kłopotliwej wartości z $_POST za pomocą zwykłego "if" - i problem z głowy.
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.