Jump to content
php.lv forumi

addslashes un mysql_escape_string


andrisp

Recommended Posts

itkaa straadaaa ok, bet tommer nav labi.. kad njemu atpakalj datus no db, tad vinjs vinjus izdod ar visiem escape slahsiem.. vai tad nav jaabuut taa, ka vinnjs pie SELECT izpildiishanas nonjem nost escape slashus ? taa lai juuzerim normaals teksts buutu.

Link to comment
Share on other sites

itkaa straadaaa ok, bet tommer nav labi.. kad njemu atpakalj datus no db, tad vinjs vinjus izdod ar visiem escape slahsiem.. vai tad nav jaabuut taa, ka vinnjs pie SELECT izpildiishanas nonjem nost escape slashus ? taa lai juuzerim normaals teksts buutu.

17405[/snapback]

 

Mysql neko pats neliek klaat un arii neko pats nenjem nost :)

 

To dara php funkcija

adslashes() un stripslashes()

:)

Edited by Grey_Wolf
Link to comment
Share on other sites

$value="teksts, kas satur ' zīmi";

$value=mysql_escape_string($value);

//$value raw: teksts, kas satur \' zīmi

mysql_query("INSERT INTO tabula SET kolonna='".$value."'"); =>

mysql_query(raw: INSERT INTO tabula SET kolonna='teksts, kas satur \' zīmi')

 

mysql tabulā/kolonnā raw: teksts, kas satur ' zīmi

 

ja pie rezultātu atdošanas atgriež ar ', tad jāskatās vai $value nav nācis, piem. no

$_POST['value'], resp. magic_quotes_qpc dēļ pēc

"teksts, kas satur ' zīmi" nopostošanas iekš $_POST['value']: teksts, kas satur \' zīmi

un vēl pa virsu addslashes un tad

$_POST['value']: teksts, kas satur \\\' zīmi un tad nu respektīvi tabulā būs raw: teksts, kas satur \' zīmi

Link to comment
Share on other sites

$value="teksts, kas satur ' zīmi";

$value=mysql_escape_string($value);

//$value raw: teksts, kas satur \' zīmi

mysql_query("INSERT INTO tabula SET kolonna='".$value."'"); =>

mysql_query(raw: INSERT INTO tabula SET kolonna='teksts, kas satur \' zīmi')

 

mysql tabulā/kolonnā raw: teksts, kas satur ' zīmi

 

ja pie rezultātu atdošanas atgriež ar ', tad jāskatās vai $value nav nācis, piem. no

$_POST['value'], resp. magic_quotes_qpc dēļ pēc

"teksts, kas satur ' zīmi" nopostošanas iekš $_POST['value']: teksts, kas satur \' zīmi

un vēl pa virsu addslashes un tad

$_POST['value']: teksts, kas satur \\\' zīmi un tad nu respektīvi tabulā būs raw: teksts, kas satur \' zīmi

17407[/snapback]

 

bet ja es neizmantoju addslashes vai to otru, tad man vienalga ieglabaajaas \' un arii prasot atpakalj ir \' . varbuut tieshaam jaaizmanto stripslashes ?

Link to comment
Share on other sites

man veel viena probleema uzradaas liidziiga shai, bet nesaistiita ar php (taatad offtopic, atvainojos).. <input> fielda value ir ar 'vienpeedinjaam' nevis dubultpeedinjaam, taapeec ja es ierakstu tajaa inputaa tekstu kur ir apostrofs vinjs itkaa ieraksta to datubaazee, bet njemot araa no datubaazes <input> tags raadaa tekstu tikai liidz tai vienpeedinjai.. saprotu, kas par probleemu, bet kaadi ir ieteicamie risinaajumi.. ?

Link to comment
Share on other sites

vispār jau labāk rakstīt iekš ", labāk ar xml/xhtml saskan

tāpat kā gadījienā ar " iekš value="", tev viš jāeiskeipo/jānomaina pret ekvivalentu

 

kad iekš "", tad var lietot htmlspecialchars(), t.i.

$value='<"';

echo '<input value="'.htmlspecialhars($value).'" />';

pārtaps par <input value="<"" />

ar ' laikam būs jāizlaiž tas pats htmlspecialchars ( a ja nu kāds tomēr < ieraxta) un str_replace("'",'& # 39;',$value); uzrīdīt

 

& # 39; jāraksta kopā, bet forums ieēd par apostrofu

Link to comment
Share on other sites

kuo? kādi murgi.

 

<input value="""> tiek rādīts ", un pie submit saņemts 'parastais' "

htmlspecialchars() jālieto tikai atrādīšanai iekš value, nevis pie saglabāšanas db

17453[/snapback]

 

atrādīts jau tiek, bet ja taisa piemēram edit formu kaut kam - pie parādīšanas iemetam caur htmlspecialchars, bet pievienojot $_POST jau aiziet tas & quot;

nākamreiz kad labo pie parādīšanas atkal tiek uzrīdīts htmlspecialchars un viņš, jau iepriekš saglabāto & quot pārveido par & amp quot;

Link to comment
Share on other sites

tu gribi teikt, ka tev ierakstot inputā " iekš $_POST['input'] parādās " ?

17455[/snapback]

 

hmmm.. godīgi sakot tikko izmēģinājos un $_POST parādās \"

dīvaini dīvaini. varu droši apgalvot, ka pirmstam tā nebija, jo bija baisas problēmas ar šito variantu (nācās rakstīt savu fnc), bet nu labi - vairs jautājumu nav :)

Link to comment
Share on other sites

×
×
  • Create New...