problema addslashes
Scris: Vin Oct 08, 2004 5:13 pm
am si eu un formular cu 2 cimpuri sa zicem. unul de tip input text(subiect), si celalalt textarea(corpul mesajului) exact ca cel din phpromania de pe forum.
dai 'Trimite'. daca nu ai scris nimic in subiect apare mesajul "Va rugam completati la subiect", iar cimpul textarea va contine datele introduse anterior(le retin in value=<?=$_POST['mesaj']?>).
problema este ca daca am ex: I'll be back in cimpul textarea ce imi va aparea acum in cimpul textarea este I\'ll be back, daca mai dau odata 'Trimite' fara sa mai modific nimic si din nou cu cimpul subiect necompletat imi va aparea i\\\'ll ba back , inca un Trimite si 7 backslash-uri imi vor aprea.
eu nu fac nici un fel de verificare a textului(ce este scris; fac verif doar daca s-a scris sau nu) DOAR in momentul introducerii in baza de date. atunci am:
$subiect = htmlspecialchars(trim($subiect));
$mesaj = htmlspecialchars(trim($mesaj));
if (!get_magic_quotes_gpc()){
$subiect = addslashes(($subiect);
$mesaj = addslashes($mesaj);
}
dar asta deja userul nu o mai vede... si nu are nci o legatura.
in manual scrie:
Do not use addslashes() on strings that have already been escaped with magic_quotes_gpc as you'll then do double escaping. The function get_magic_quotes_gpc() may come in handy for checking this.
eu fac verificarea, si chiar daca tai codul de mai sus, chiar daca il mut la inceputul scriptului sau la sfirstit, imi face acelasi lucru. iar eu vreau sa-l fac sa mearga indiferent de directivele din php.ini
mersi
dai 'Trimite'. daca nu ai scris nimic in subiect apare mesajul "Va rugam completati la subiect", iar cimpul textarea va contine datele introduse anterior(le retin in value=<?=$_POST['mesaj']?>).
problema este ca daca am ex: I'll be back in cimpul textarea ce imi va aparea acum in cimpul textarea este I\'ll be back, daca mai dau odata 'Trimite' fara sa mai modific nimic si din nou cu cimpul subiect necompletat imi va aparea i\\\'ll ba back , inca un Trimite si 7 backslash-uri imi vor aprea.
eu nu fac nici un fel de verificare a textului(ce este scris; fac verif doar daca s-a scris sau nu) DOAR in momentul introducerii in baza de date. atunci am:
$subiect = htmlspecialchars(trim($subiect));
$mesaj = htmlspecialchars(trim($mesaj));
if (!get_magic_quotes_gpc()){
$subiect = addslashes(($subiect);
$mesaj = addslashes($mesaj);
}
dar asta deja userul nu o mai vede... si nu are nci o legatura.
in manual scrie:
Do not use addslashes() on strings that have already been escaped with magic_quotes_gpc as you'll then do double escaping. The function get_magic_quotes_gpc() may come in handy for checking this.
eu fac verificarea, si chiar daca tai codul de mai sus, chiar daca il mut la inceputul scriptului sau la sfirstit, imi face acelasi lucru. iar eu vreau sa-l fac sa mearga indiferent de directivele din php.ini
mersi