Autor Zpráva
Pavel Straka
Profil
Dobré dopoledne, rád bych požádal zkušenější o radu. Přes URL získávám nějakou hodnotu, ty escapuji: $hodnota = mysql_real_escape_string($_GET["promenna"]) a pak tuto vyescapovanou hodnotu použivám v parametru funkce: funkce($hodnota). Problém je, že do funkce vstoupí hodnota nevyescapovaná. Kde dělám chybu? Děkuji všem za ochotu pomoci.
Jan Tvrdík
Profil
Pavel Straka:
Bez ukázky kódu není možné učit příčinu. Hádat se mi nechce.
Pavel Straka
Profil
No opravdu je to tak "jednoduché", jak jsem psal. Ukázka kódu:
$hodnota = mysql_real_escape_string($_GET["promenna"]);

function funkce($parametr) {
echo $parametr;
}

funkce($hodnota);

Pokud je např. $_GET["promenna"] = "McDonald's", funkce vypíše McDonald's a ne McDonald\'s, jak bych předpokládal.
Micruss
Profil
Mně to na localhostu normálně vypisuje

index.php?promenna='''''''

echo: \'\'\'\'\'\'\'
----------------------------
index.php?promenna=McDonald's

echo: McDonald\'s

Jestli máš u sebe ten kód jinak napsaný bylo by dobrý to sem poslat...
mzk
Profil *
Pavel Straka:
no já si nejsu dvakrát jistej a hledat se mě to nikde nechce, ale mám pocit, že by se ta funkce neměla využívat (resp. není důvod ji využívat) jinde než na 'komunikaci' s databází.. na ošetření řetězců jsou přece jiné funkce..
Mike8748
Profil
Pavel Straka:
jen tak pro zajímavost... předtím než voláš mysql_real_escape_string(), jsi připojen k databázi?

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: