Autor Zpráva
Asterofix
Profil
Ahoj, chtěl bych se zeptat jestli existuje nějaký opak fce mysql_escape_string()/ mysql_real_escape_string(), tedy fce, která by naopak ty oescapované znaky při vypisování z databáze opět převedla zpátky, tak aby nevznikalo třeba tohle \". Samozřejmě lze použít str_replace, ale zajímalo by mě jestli existuje fce, která je pro to určená.

Mockrát díky za odpověď.
djlj
Profil
stripslashes?
Alphard
Profil
stripslashes()
Asterofix
Profil
díky, asi je to ono, ale když mám následující kód:

$text=mysql_escape_string($text);

mysql_query(insert.....)


a pak to vypisuju

mysql_query(select....)

$text=stripslashes($text);

tak se mi sice nezobrazí ty lomítka tři za sebou (jako kdybych fci stripslashes nepoužíval), ale pouze jedno tzn. místo (lomítko) (lomítko) (lomítko) " se vypíše (lomítko) "
Alphard
Profil
to je správně :-)
netvrď tady, že mysql_escape_string() nacpe např. před apostrof 3 lomítka, jedno tam už muselo být
Asterofix
Profil
V manuálu se píše, že stripslashes nahradí více lomítek za sebou jedním lomítkem, tzn. že problém je v tom mysql_escape_string, protože mi to ze záhadných důvodů píše vždy za uvozovkou 3 lomítka. Je to tak správně, nebo nevíte prosím někdo v čem je chyba?
Asterofix
Profil
Alphard

bohužel, nemůžu si pomoct, ale je to tak, píše mi to 3 lomítka, ale testuju to jen na zkušebním formuláři, tzn. že jsem si jen udělal jedno textové pole a tlačítko a pak to jen vypíšu přes echo, takže je možné, že je chyba tady, protože jsem to "neprohnal" přes sql?
Asterofix
Profil
Aha, omlovám se, když to dávám do db, tak to funguje jak má. Koho by napadlo, že fci mysql_escape_string člověk muže použít jen s mysql databází :))) Takže všem díky za pomoc.
Alphard
Profil
addslashes()
krteczek
Profil
Asterofix: postupuji takto: automaticky odstranuji lomítka z $_GET, $_POST, $_COOKIE, $_REQUEST, $_FILES (podle nastavení directivy magic_quotes_gpc), data zpracuji, a při ukládání do db je ošetřím mysql_realescape_string

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:

0