[ pela @ 05.02.2007. 17:44 ] @
| php5 i mysql5.02
Na serveru mi je ukljucen magic quote. "get_magic_quotes_gpc=1"
Znaci da na svakom POST-u i GET-u dodaje backslash na navodnike... Do ulaza u bazu drzi backslash a zatim sve ubacuje u bazu normalno.. Znaci u bazi nisu sa backslash-om.
Kad ih vadim iz baze u neki html input tag.. na primer text ako ne stavim u value htmlspechar.. kako bese
onda nece da mi prikaze vrednost polja. Rusi mi kod.
Code:
echo "
...pa ide tu nesto....
...<input type='text' value = '".htmlspecialchars("$POST['$nekoPoljeIzBaze'], ENT_QUOTES);
";
I to je OK!! Ovako mi radi!! Medjutim ako to stavim na neki link
Code: ... [url=http://www.asdasda.php?nekaPromenljiva=htmlspecialchars(]www.asdasda.php?nekaPromenljiva=htmlspecialchars([/url]"$POST['$nekoPoljeIzBaze'], ENT_QUOTES)) ....
pa to sa linka prebacim na neku drugu stranu gde to opet treba da vratim u bazu nece da radi !!!
Kako da ih vadim iz baze i kako opet da ih vracam nazad?
Pozdrav svima
Pela
|
[ Zokii1983 @ 06.02.2007. 04:56 ] @
pa zasto jednostavno neiskljucis magic quotes u skripti??
ne na serveru nego samo na forumu ili sta vec imas..
[ pela @ 06.02.2007. 07:29 ] @
Hmmm... pa zasto da ih iskljucim?
Naprotiv to mi odgovara... ne koristim nigde i ne zamaram se sa addslash-om u svakom POST-u ili GET-u...
Meni je samo problem kako na koji nacin, da ih opet vratim nazad... u bazu.
Iz baze ih vadim pomocu htmlspecialchars() zato sto mi dodatni navodnik rusi kod.
(kad iz baze izadje bas navodnik ' a ne ').
Mozda bih trebao ipak da ih pre unosa u bazu pretvorim u ' ??!
Pa da ih vadim na input ili link ili bilo koji output direktno ?
[ pela @ 08.02.2007. 06:58 ] @
Konacno...
Zacarani krug resen.
Znaci ovako, pod uslovom da vam je na serveru ukljucen
get_magic_quotes_gpc = 1
Sve sto vam putem POST-a ili GET-a ide u bazu ide vam do baze sa slash-om \
U bazi navodnik ili bilo koji drugi specijalni karakter ulazi bez slash-a.
Kad se vadi iz baze za prikaz ili kao vrednost nekog inputa mora se prikazati sa funkcijom
htmlspecialchars($whilePromenljiva['imePOlja'], ENT_QUOTES) (ovo vazi samo za navodnike)
(moze i sa htmlentities() u kom slucaju svi specijalni znaci ekvivalentno dobijaju svoju html zamenu/karakter)
Zatim kad se zavrsi promena (na primer u input-u) vraca se nazad
gde se prihvata pomocu promenljive $promenljiva=stripslashes($_POST['imeInputa']);
Koristim stripslashes zato sto magic po default-u opet stavlja \
a zatim se ubacuje u SQL pomocu mysql_real_escape_string($promenljiva)
mysql_query("UPDATE baza SET polje='".mysql_real_escape_string($promenljiva)."' WHERE... ");
Valjda ce ovo biti nekom od koristi...
pOzdr.
Pela
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.