Autor Zpráva
kchrz
Profil
Tak jsem původně hledal problém uplně jinde, než kde vlastně vězí.
Mám textareu a v ní znak " Když chci pomocí php uložit do souboru, změní se mi všchna " na \"
Jak tomu zamezit. Díky.
krteczek
Profil
stripslashes() -> odstraní přidaná lomítka
echo(stripslashes("\\a")) // vypíše 'a' místo '\a'

krteczek
lukas_mach
Profil *
ale stripslashuj to jen pokud magic_quotes_gpc vraci true
lukas_mach
Profil *
je pred tim jeste get_

http://php.ftp.cvut.cz/manual/en/function.get-magic-quotes-gpc.php
krteczek
Profil
už jsem několikrát četl o magic_quotes_gpc, ale nikde jsem nenašel česky vysvětlení k čemu slouží, co dělají, co ovlivňují, prostě co s nimi a co bez nich... Vysvětlení by jistě bodlo více lidem než jen mi.
díky krteczek
juneau
Profil
Magic qoutes (magicke uvozovky) jsou tu z toho duvodu, aby php ulehcilo ukladani obsahu formularu do sql databaze. pokud mas v textaree treba > A pak rekl "ahoj" <, tak sql dotaz "INSERT INTO table (text) VALUES ('A pak rekl "ahoj"')" hodi chybu, kdezto "INSERT INTO table (text) VALUES ('A pak rekl \"ahoj\"')" ... je spravne.

Vyvojari php tak asi chteli lidem usetrit praci ci co. Jenze tato direktiva (magic quotes) neni zapla vzdy a proto na ni nelze spolehat. Je dobre si tedy napsat vlastni funkci, kterou projdou vsechna data z formulare.


function check($co)
{
if(magic_quotes_gpc() != 1) // nejsou pridavana lomitka automaticky
return addslashes($co);

return $co;
}


a pak uz jen volat > $jmeno = check($_POST['jmeno']);

Samozrejme jde o pripad, kdy pracujes s databazi, coz drive nebo pozdeji budes.
kchrz
Profil
Díky všem za odpovědi. Už to funguje.
DoubleThink
Profil *
Jenze tato direktiva (magic quotes) neni zapla vzdy a proto na ni nelze spolehat

Pravda, ale neviděl jsem ještě server, kde by byla vypnutá.
juneau
Profil
Ale je lepsi s tim od zacatku pocitat... pak nahrajes web na jiny server a bac ho.
krteczek
Profil
taky děkuji za osvětlení...i za funkci :-)
krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.

0