webForumDet fria alternativet

variabel och dolt fält

PHP

5 svar · 200 visningar · startad av Thomson

Medlem sedan feb. 200177 inlägg
Frågan#1

hej!

print("<input type=\"hidden\" name=\"upp\" value=\"$hej\">");

där $hej innehåller nått i stil med:
<font face="verdana"><b>bla</b></font>
alltså en del html-taggar.

Det funkar inte så bra när jag ska lägga $hej i en tabell i en databas.
det är bara: <font face= som sparas.
vad ligger felet? måste jag konvertera strängen på något vis?

------------------
"Snälla människor kommer till himmlen, andra kommer hur långt som helst"

Medlem sedan jan. 20001 006 inlägg
#2

Eftersom PHP tror att koden slutar vid andra "-tecknet (det första som inte är "avkodat" i <font face="verdana"><b>bla</b></font> ) kommer endast <font face= med i din databas.

Antingen får du strunta i att använda citattecknen eller börja använda enkelfnuttar ( ' ), eller något annat.. htmlspecialchars kan nog hjälpa dig oxå.

/j

------------------
R6

Medlem sedan juni 20008 205 inlägg
#3

Eller varför inte htmlentities()?

------------------
Jag är en tolerant person, men bara mot de jag gillar, så passa dig!

Medlem sedan feb. 200177 inlägg
#4

Tack för svaren!

jag löste det så här:

för att läsa:
$hejsan = ereg_replace("@@","\"",$row[$goto]);
print($hejsan);

för att skriva:
$hejsan = ereg_replace("\"","@@",$hej);

------------------
"Snälla människor kommer till himmlen, andra kommer hur långt som helst"

Medlem sedan juni 200011 inlägg
#5

Prova att köra:
addslashes($hej);
...först.

Se: http://www.phpbuilder.com/manual/function.addslashes.php http://www.mysql.com/doc/S/t/String_syntax.html

(also look at magic_quotes... http://www.phpbuilder.com/manual/configuration.php)

------------------
Pasique

Medlem sedan juni 200011 inlägg
#6

$hej = addslashes($hej);

Ska det ju va!

------------------
Pasique

250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)