PHP code in textarea naar plain text
Wesley van der Have
20/12/2015 20:04:16Beste mensen van PHPhulp,
Ik ben bezig met een scriptje om code met anderen te delen, alleen loop ik tegen het volgende probleem aan.
Zodra je namelijk een stuk PHP code in een textarea zet, en die ophaalt met de $_POST['textarea'], lijkt het alsof de code word uitgevoerd.
Dit is alleen niet de bedoeling aangezien de PHP code als plain text in de SQL database moet worden opgeslagen.
Zou iemand me kunnen helpen met de $_POST['textarea'] naar plain text te kunnen krijgen?
Wat ik tot nu toe heb:
$text = $_POST['textarea'];
En die moet in de SQL database opgeslagen worden als plain text:
mysqli_query($con,"INSERT INTO codes (codeId, originaltext)VALUES ('$cid', '$text')");
Alleen lijkt het erop alsof de PHP code word uitgevoerd wanneer de SQL query word uitgevoerd
Een voorbeeld van wat er in de textarea staat:
Alvast bedankt voor jullie hulp!
Groet,
Wesley
Ik ben bezig met een scriptje om code met anderen te delen, alleen loop ik tegen het volgende probleem aan.
Zodra je namelijk een stuk PHP code in een textarea zet, en die ophaalt met de $_POST['textarea'], lijkt het alsof de code word uitgevoerd.
Dit is alleen niet de bedoeling aangezien de PHP code als plain text in de SQL database moet worden opgeslagen.
Zou iemand me kunnen helpen met de $_POST['textarea'] naar plain text te kunnen krijgen?
Wat ik tot nu toe heb:
$text = $_POST['textarea'];
En die moet in de SQL database opgeslagen worden als plain text:
mysqli_query($con,"INSERT INTO codes (codeId, originaltext)VALUES ('$cid', '$text')");
Alleen lijkt het erop alsof de PHP code word uitgevoerd wanneer de SQL query word uitgevoerd
Een voorbeeld van wat er in de textarea staat:
Alvast bedankt voor jullie hulp!
Groet,
Wesley
PHP hulp
15/01/2025 00:31:58Thomas van den Heuvel
20/12/2015 20:24:08Gebruik output escaping.
Voor de MySQL context --> mysqli_real_escape_string($link, $data) zodat DATA niet als SQL wordt geinterpreteerd.
Voor de PHP/HTML context --> gebruik htmlspecialchars($data, ENT_QUOTES, 'UTF-8') bij het afdrukken zodat DATA niet als HTML geinterpreteerd kan worden. Het lijkt mij onmogelijk dat PHP echt als code uitgevoerd wordt als je dit afdrukt, tenzij je eval() gebruikt ofzo. Ik neem aan dat je UTF-8 gebruikt?
Noodzakelijke voorwaarde voor het correct werken van escaping is dat je character encoderingen kloppen.
Mochten sommige bovenstaande termen je weinig zeggen zou ik mij daar eerst eens verdiepen voordat je wat voor code dan ook gaat beheren / weergeven op zo'n manier.
Voor de MySQL context --> mysqli_real_escape_string($link, $data) zodat DATA niet als SQL wordt geinterpreteerd.
Voor de PHP/HTML context --> gebruik htmlspecialchars($data, ENT_QUOTES, 'UTF-8') bij het afdrukken zodat DATA niet als HTML geinterpreteerd kan worden. Het lijkt mij onmogelijk dat PHP echt als code uitgevoerd wordt als je dit afdrukt, tenzij je eval() gebruikt ofzo. Ik neem aan dat je UTF-8 gebruikt?
Noodzakelijke voorwaarde voor het correct werken van escaping is dat je character encoderingen kloppen.
Mochten sommige bovenstaande termen je weinig zeggen zou ik mij daar eerst eens verdiepen voordat je wat voor code dan ook gaat beheren / weergeven op zo'n manier.
Wesley van der Have
20/12/2015 20:37:59Heb het voor elkaar gekregen met de mysqli_real_escape_string!
Ik wil je hartelijk bedanken voor je hulp!
Groet,
Wesley
Ik wil je hartelijk bedanken voor je hulp!
Groet,
Wesley