PHP code in textarea naar plain text

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Wesley van der Have

Wesley van der Have

20/12/2015 20:04:16
Quote Anchor link
Beste 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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo 'Test';

?>


Alvast bedankt voor jullie hulp!

Groet,

Wesley
 
PHP hulp

PHP hulp

15/01/2025 00:31:58
 
Thomas van den Heuvel

Thomas van den Heuvel

20/12/2015 20:24:08
Quote Anchor link
Gebruik 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.
 
Wesley van der Have

Wesley van der Have

20/12/2015 20:37:59
Quote Anchor link
Heb het voor elkaar gekregen met de mysqli_real_escape_string!

Ik wil je hartelijk bedanken voor je hulp!

Groet,
Wesley
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.