Autor Zpráva
John_Franco
Profil *
Dobrý den,
když něco vkládám do MySQL, vždy přes funkci mysql_real_escape_string. Ta dá zpětná lomítka před uvozovky. To je dobře, ale tato zpětná lomítka se též uloží do databáze a zobrazují se i na webu. Jak tomu můžu zamezit?
Děkuji
Mike8748
Profil
echo stripslashes($data_z_db);

btw, je to v manualu (evidentne to fakt nikdo necte)
Jan Tvrdík
Profil
Tipuji, že máš zapnuté magic_quotes_gpc, takže se ti lomítka přidavají dvakrát.
Koukni do manuálu na 3. příklad.
John_Franco
Profil *
Jan Tvrdík
Děkuji za radu, jenom dodávám, že v databázi je před každou uvozovkou lomítko jednou. Ale to asi znamená, že se přidávají dvakrát, že...
Jan Tvrdík
Profil
John_Franco:
to asi znamená, že se přidávají dvakrát
Ano, přesně tak. Správně by tam neměly být vidět žádná.
John_Franco
Profil *
A magic_quotes_gpc mám opravdu zapnuté, bude tedy stačit, pokud to vypnu?
Jan Tvrdík
Profil
John_Franco:
Existují dvě možnosti, jak to řešit:
– vypnout magic_quotes_gpc
– udělat to jako v tom 3. příkladu v manuálu – tj. místo
mysql_real_escape_string($text);
používat
mysql_real_escape_string(stripslashes($text));
John_Franco
Profil *
Děkuji. - Dobře, chci vypnout to magic_quotes_gpc. Mám virtuální server (VPS). Jak se to dělá??
Jan Tvrdík
Profil
John_Franco:
Existují zase 2 možnosti:
a) v php.ini – přidáš na konec:
magic_quotes_gpc = Off

b) v souboru se jménem .htaccess (umístíš ho do rootu webu)
php_value magic_quotes_gpc off
John_Franco
Profil *
Jak se mohu dostat k souboru php.ini??
Jan Tvrdík
Profil
John_Franco:
Zavolej funkce phpinfo a koukni se na jeko adresu.

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