Ik heb een website waarbij mensen een grote lap tekst moeten typen en deze kunnen verzenden (methode = POST).
Op de volgende pagina ontvang ik deze tekst dus in een variabele, en zet deze even in een hidden field zodat hij ook beschikbaar is op de pagina hierna:
Als ik dit form nu op zijn beurt verstuur dan wordt op de 3e pagina deze data in een (MySQL) tabel gestopt.
Maar als er in het verhaal dubbele aanhalingstekens staan (") of enkele (') dan gaat het mis.
Nu heb ik uiteraard (Ivy is niet helemaal gek) gehoord van add- en stripslashes.
Dus ik lekker creatief doen en bij de tweede pagina dit gedaan:
Maar toch gaat het mis, en volgens mij bij de HTML. Want die snapt het niet helemaal, als ik in de bron van de tweede pagina (de pagina het het hidden field) kijk zie ik dit:
(in het vb wordt deze (test) tekst doorgestuurd:
Dit is een"test" tekst.
)
Bron:
Dus wat wordt dan de var 'tekst' op pagina 3? Dit:
Dit is een \\
Niet helemaal goed dus. Weet iemand hoe ik dit op moet vangen?
Nogmaals, add- en stripslahes ken ik heus wel maar ik denk dat ik niet helemaal weet hoe ik het moet gebruiken.
Ik zat te denken om handmatig alle ", ' en \ te vervangen door een 'gekke' string met str_replace, dus dat je dan " vevangt door %^&* en dit later weer terugzet, maar snugger als ik ben snap ik ook nog wel dat dat niet nodig gaat zijn.
Ik denk dat ik in de buurt zit met mn addslashes, heb alleen even het duwtje in de rug nodig...
Modjes ik hoop dat het niet (weer
) een closed-topic gaat worden, ik kom er echt niet uit..!
Op de volgende pagina ontvang ik deze tekst dus in een variabele, en zet deze even in een hidden field zodat hij ook beschikbaar is op de pagina hierna:
PHP:
1
| echo '<input type="hidden" name="tekst" value="' . $_POST['tekst'] . '">'; |
Als ik dit form nu op zijn beurt verstuur dan wordt op de 3e pagina deze data in een (MySQL) tabel gestopt.
Maar als er in het verhaal dubbele aanhalingstekens staan (") of enkele (') dan gaat het mis.
Nu heb ik uiteraard (Ivy is niet helemaal gek) gehoord van add- en stripslashes.
Dus ik lekker creatief doen en bij de tweede pagina dit gedaan:
PHP:
1
| echo '<input type="hidden" name="tekst" value="' . addslashes($_POST['tekst']) . '">'; |
Maar toch gaat het mis, en volgens mij bij de HTML. Want die snapt het niet helemaal, als ik in de bron van de tweede pagina (de pagina het het hidden field) kijk zie ik dit:
(in het vb wordt deze (test) tekst doorgestuurd:
Dit is een"test" tekst.
)
Bron:
code:
1
| <input type="hidden" name="tekst" value="Dit is een \\\"test\\\" tekst."> |
Dus wat wordt dan de var 'tekst' op pagina 3? Dit:
Dit is een \\
Niet helemaal goed dus. Weet iemand hoe ik dit op moet vangen?
Nogmaals, add- en stripslahes ken ik heus wel maar ik denk dat ik niet helemaal weet hoe ik het moet gebruiken.
Ik zat te denken om handmatig alle ", ' en \ te vervangen door een 'gekke' string met str_replace, dus dat je dan " vevangt door %^&* en dit later weer terugzet, maar snugger als ik ben snap ik ook nog wel dat dat niet nodig gaat zijn.
Ik denk dat ik in de buurt zit met mn addslashes, heb alleen even het duwtje in de rug nodig...
Modjes ik hoop dat het niet (weer