Autor Zpráva
farradox
Profil
Zdravím, mám menší problém. Na localhostu mi jede vše v pohodě, ale na hostingu se mi při funkci implode vloží do řetězce záhadným způsobem zpětné lomítko \. Výsledek je potom třeba \'auto\',\'kocka\',\'pomeranc\'. Nevíte někdo v čem je bota? Popřípadě jestli to jde odstranit třeba přes str_replace() ? díky
Werewolf
Profil
stripslashes()
AM_
Profil
Globální řešení pro celý skript včetně ochrany pro zacyklení a detekce nastavení magic_quotes (toto přídávání lomítek) v PHP:

DEFINE('MAX_ARRAY_DEPTH', 10); //maximal number of immerged arrays; protection from overflow like script.php?a[][][][][][][][][][][][]....=1

function array_unescape(&$array, $lvl = 0){//RETURNS unescaped array; array is passed by reference only for memory save
  $result = array();
  if ($lvl >= MAX_ARRAY_DEPTH) return false; //memory limit protection
  foreach ($array as $key=>$val){
    if (is_array($val)){
      $result[stripslashes($key)] = array_escape($val, $lvl+1); //unescape immerged array
    } else {
      $result[stripslashes($key)] = stripslashes($val); //unescape value
    }
  }
  return $result;
}

if(get_magic_quotes_gpc()){
  $_GET = array_unescape($_GET);
  $_POST = array_unescape($_POST);
  $_COOKIE = array_unescape($_COOKIE);
  $_REQUEST = array_unescape($_REQUEST);
}
farradox
Profil
jo, už mi to jede. Díky moc ;)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: