Šta je novo?

kako naterati php da stampa navodnike iz mysql baze?

Predsednik

Čuven
Učlanjen(a)
09.01.2002
Poruke
194
Poena
619
<input name="skola" type="text" value="<? echo "$skola"; ?>" size="20" maxlength="50">

e sad, ako neko stavi u to polje npr: srednja skola "pera peric"
on u bazi pamti ceo string, ali kada treba da ga ispise on ispise samo srednja skola...
kada se stavi: srednja skola 'pera peric' onda lepo ispise ceo string...
probao sam i sa echo $skola i sa print "$skola"...
meni je u principu jasno u cemu je problem, ali ima li neko standardno resenje za njega...
 
<textarea name="textarea" cols="50" rows="5" wrap="VIRTUAL" id="textarea"><? echo "$skola"; ?></textarea>

najsmesnija stvar je da kada stavis ovako onda ih stampa... mislim navodnike...
 
pa koristi textarea-u, ovo nema smisla, naravno:

<input name="skola" type="text" value="srednja skola "pera peric"" size="20" maxlength="50">

mozes da stavis value='<? echo "$skola"; ?>' (jednostruki navodnici) tj. da dobijes ovo:

<input name="skola" type="text" value='srednja skola "pera peric"' size="20" maxlength="50">

s tim sto ces onda imati problem ako neko stavi ' ... imas stripslashes() i addslashes() f-e, a i str_replace(), pa ako hoces, iskontrolisi malo sta se i kako unosi odnosno izbacuje iz baze pomocu njih.

pozdrav!
 
ma jasno je meni sta se desava... probao sam sa raznim kominacijama navodnika i problem je sto ma sta sta stavio nece da stampa jedne od njih...
to mi je trebalo kako se zove funkica koja to radi da ja sad nepisem nesto novo :)
sad cu da vidim sta ima u yu.php.com/addslashes :)
hvala
 
samo mu daj value='<? echo addslashes($skola); ?>', ali to ce da izgleda malo blesavo, ne? :) da sam na tvom mestu, ja bih sve navodnike eliminisao, ili vec, u zavisnosti od toga da li koristis jednostruke ili dvostruke u HTML kodu, menjao one koji prave problem u one druge i to je to - ipak 'pera peric' izgleda pristojnije od \'pera peric\'
 
ma probao sam i to neradi...
uoste nece da stamapa sa addslashes... iznervirao sam se i digao ruke od toga...
sad radim na tome da svako " pre unosenja zamenim sa '...
 
pazi fora je u tome sto php sam dodaje \ ispred svakog znaka tipa \,",' itd. prakticno uvek radi addsplashes... e sad on to nece da stampa... znaci i ako je string \"pera\" on to ne odstampa... don't ask me why...
sve u svemu ja sam sad to resio sa str_replace kao sto si rekao...
sintaksa je malo smesna, $sss = str_replace('"',"'","$ss"); ali dobro radi :)))
 
smesna je utoliko sto si ' stavio pod ", umesto da ga samo eskejpujes i stavis pod ' ali nema veze, mada postoji razlika izmedju ' i " kod stringova + sto si $ss stavio pod navodnike, sto ti ne treba, ako je to promenljiva, a lichi na nju :)

my mistake, kad stampas, koristis stripslashes - evo ti praktican primer koji stampa i ' i ", pretvarajuci ' u "

<?php
$string1 = '"pera"'; //string sa dvostrukim
$string2 = '\'pera\''; //odnosno jednostrukim navodnicima
?>
<form action=""><input name="skola" type="text" value='<? echo stripslashes(str_replace('\'','"',$string1)); ?>' size="20" maxlength="50"></textarea>
<form action=""><input name="skola" type="text" value='<? echo stripslashes(str_replace('\'','"',$string2)); ?>' size="20" maxlength="50"></textarea>
</form>

u oba slucaja ce biti ispisano "pera"

pozdrav!
 
Poslednja izmena:
Keops je napisao(la):
smesna je utoliko sto si ' stavio pod ", umesto da ga samo eskejpujes i stavis pod ' ali nema veze, mada postoji razlika izmedju ' i " kod stringova + sto si $ss stavio pod navodnike, sto ti ne treba, ako je to promenljiva, a lichi na nju :)

Do ovoga sam dosao empiriski :)) nije radilo $ss... ja sam malo gledao i onda stavio pod navodinike pa sad radi...

Keops je napisao(la):
my mistake, kad stampas, koristis stripslashes - evo ti praktican primer koji stampa i ' i ", pretvarajuci ' u "

<?php
$string1 = '"pera"'; //string sa dvostrukim
$string2 = '\'pera\''; //odnosno jednostrukim navodnicima
?>
<form action=""><input name="skola" type="text" value='<? echo stripslashes(str_replace('\'','"',$string1)); ?>' size="20" maxlength="50"></textarea>
<form action=""><input name="skola" type="text" value='<? echo stripslashes(str_replace('\'','"',$string2)); ?>' size="20" maxlength="50"></textarea>
</form>

u oba slucaja ce biti ispisano "pera"

pozdrav!

a taj tvoj primer je lep, ako pretpostavis da u bazi cuvas \"pera\", sto ja bas pokusavam da izbegnem... mogu da se slozim sa tobom da je ovo prihvatljivo resenje, ali za moj slucaj nije...
fora bi bila da pred upis u bazu uradim zamenu \" sa " a kod ispisa \" sa ", ali ovo mi je bilo lepse... nego tu sam imao drugi problem... nije ni bitno.. odlicno radi sada... haval ti u svakomom slucaju... imacu ja jos pitanja :)
 
Nazad
Vrh Dno