Autor Zpráva
GeneralDv
Profil
Dobrý den. Mám problém s editorem článků. Při ukládání článku do MySQL ošetřuju znaky pomocí funkce mysql_real_escape_string(). Při následném výpisu do textarey pomocí stripslashes(), a tady je ten problém. Když mám v článku HTML entity v textarei (?) se mi zobrazí jako HTML tagy => do zdrojáku dopadají entity.. a já potřebuju aby všechno zůstalo tak jak bylo při vkládání, jak sem tak koukal v PhpMyAdmin to je tak jak bych to potřeboval, jde to teda nějak vyřešit ?
Joker
Profil
mysql_real_escape_string() nepřevádí HTML tagy ani entity.
Není tam někde třeba htmlspecialchars?
GeneralDv
Profil
mysql_real_escape_string() nepřevádí HTML tagy ani entity.
Není tam někde třeba htmlspecialchars?


mysql_real_escape_string() - proti injekci.. ale právě že tam nemam htmlspecialchars.
Joker
Profil
GeneralDv:
Fajn, ale v tom případě... když proženu vstup z textarea přes mysql_real_escape_string(), uložím ho do databáze a pak ho načtu z databáze, mělo by být výsledkem zase to, co bylo v textarea. HTML kód by to nijak ovlivnit nemělo.
Čili problém asi bude někde jinde, než ve zmiňovaných funkcích.

Jinak v čem přesně je problém? Například nějaká ukázka, co se špatně převede na co?
GeneralDv
Profil
Takže příklad:
Do textarea dam: <diskuze>
pouze mysql_real_escape_string() => uložim do DB
vypíšu z DB do textarea => pouze stripslashes()

Výsledek: <diskuze>
Nikoliv: &lt;diskuze&gt; - to dopadá jen do zdrojáku
Jan Tvrdík
Profil
GeneralDv:
Doporučené čtení

vypíšu z DB do textarea => pouze stripslashes()
Stripslashes zde nemá co dělat.

Před výpisem je to potřeba projet funkcí htmlspecialchars($s, ENT_QUOTES).
GeneralDv
Profil
No jo funguje to :-) díky..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: