stripeslashes()

Status
Niet open voor verdere reacties.

SKILL

Gebruiker
Lid geworden
9 apr 2009
Berichten
41
In het volgende formulier kunnen gegevens ingevoerd worden die worden gecontroleerd en afgehandeld.

Het probleem is dat wanneer iemand in 's-Hertogenbosch woont of als tussenvoegsel in 't veld heet er een backslash mee wordt gegeven.

Ik heb gelezen dat je dit kunt voorkomen door stripeslashes te gebruiken, maar hoe kan ik deze functie gebruiken zodat hij overal van toepassing is in mijn script?

PHP:
<html>
<head>
	<title></title>
</head>
<body>
<html>
<head>
	<title>Formulier</title>
	<link rel="stylesheet" type="text/css" href="appdata/stylesheets/form.css" media="screen" />
</head>
<body>

<?php
//functies invoegen
include "function.inc.php";
?>



<?php
//header invoegen
include "header.php"; 
?>

<?php
//email instellingen
ini_set("smtp", "xxx");
ini_set("smtp_port", 25);
ini_set("sendmail_from", "xxx");
?>

<?php
//controle ingevoerde gegevens met of zonder hoofdletters worden afgehandeld
if (isset($_POST["Voornaam"])) { 
	$_POST["Voornaam"] = ucwords($_POST["Voornaam"]);
}
if (isset($_POST["Tussenvoegsel"])) {
	$_POST["Tussenvoegsel"] = strtolower($_POST["Tussenvoegsel"]);
}
if (isset($_POST["Achternaam"])) {
	$_POST["Achternaam"] = ucwords($_POST["Achternaam"]);
}
if (isset($_POST["Straat"])) {
	$_POST["Straat"] = ucwords($_POST["Straat"]);
}
if (isset($_POST["Huisnr"])) {
	$_POST["Huisnr"] = strtolower($_POST["Huisnr"]);
}
if (isset($_POST["Postcode"])) {
	$_POST["Postcode"] = strtoupper($_POST["Postcode"]);
}
if (isset($_POST["Plaats"])) {
	$_POST["Plaats"] = ucwords($_POST["Plaats"]);
}
if (isset($_POST["Email"])) {
	$_POST["Email"] = strtolower($_POST["Email"]);
}
?>

<?php
//controle of form verzonden is en of alle invoervakken een waarde hebben
//--ja dan mailscript afhandelen verder op pagina 
//--nee dan formulier weergeven
if (!isset($_POST["Verzendbutton"]) || 
	!valid_voornaam($_POST["Voornaam"]) ||
	!valid_tussenvoegsel($_POST["Tussenvoegsel"]) ||
	!valid_achternaam($_POST["Achternaam"]) ||
	!valid_straat($_POST["Straat"]) ||
	!valid_huisnr($_POST["Huisnr"]) ||
	!valid_postcode($_POST["Postcode"]) ||
	!valid_plaats($_POST["Plaats"]) ||
	!valid_email($_POST["Email"]) ||
	!valid_telnr($_POST["Telnr"]) ||
	!($_POST["Opmerking"])) {
?>

<!--formulier begin-->
<form method="post" action="scriptform.php">
<table>
<input type="hidden" name="to" value="xxx" />
<input type="hidden" name="subject" value="Reactie website." />
<input type="hidden" name="redirect" value="http://localhost:8080/bedankt.php" />
<tr>
<td>Voornaam:</td>
<td>
<?php
//controle of er een voornaam is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_voornaam($_POST["Voornaam"])){
	echo "<font color=\"red\">Vul de voornaam correct in!</font><br />";
}
?>
<!--invoerveld voornaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Voornaam" size="30" maxlength="30" value="<?php if (isset($_POST["Voornaam"])) { echo $_POST["Voornaam"]; } ?>" /> <span class="vbfont">(vb. Martine)</span>
</td>
</tr>
<tr>
<td>Tussenvoegsel</td>
<td>
<?php
//controleren of er een tussenvoegsel is ingevoerd en of deze juist is
if (isset($_POST["Verzendbutton"]) && !valid_tussenvoegsel($_POST["Tussenvoegsel"])) {
	echo "<font color=\"red\">Vul het tussenvoegsel in!</font><br />";
}
?>
<!--invoerveld tussenvoegsel incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Tussenvoegsel" size="30" maxlength="10" value="<?php if (isset($_POST["Tussenvoegsel"])) { echo $_POST["Tussenvoegsel"]; } ?>" /> <span class="vbfont">(vb. van der)</span>
</td>
</tr>
<tr>
<td>Achternaam:</td>
<td>
<?php
//controle of er een achternaam is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_achternaam($_POST["Achternaam"])) {
	echo "<font color=\"red\">Vul de achternaam correct in!</font><br />";
}
?>
<!--invoerveld achternaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Achternaam" size="30" maxlength="30" value="<?php if (isset($_POST["Achternaam"])) { echo $_POST["Achternaam"]; } ?>" /> <span class="vbfont">(vb. Franse)</span>
</td>
</tr>
<tr>
<td>Straat:</td>
<td>
<?php
//controle of er een straat is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_straat($_POST["Straat"])) {
	echo "<font color=\"red\">Vul de straat correct in!</font><br />";
}
?>
<!--invoerveld straat incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Straat" size="30" maxlength="30" value="<?php if (isset($_POST["Straat"])) { echo $_POST["Straat"]; } ?>" /><span class="vbfont"> (vb. Nicoline Swijgmanstraat)</span>
</td>
<td>
Huisnummer:
</td>
<td>
<?php
//controle of er een huisnr is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_huisnr($_POST["Huisnr"])) {
	echo "<font color=\"red\">Vul het huisnummer correct in!</font><br />";
}
?>
<!--invoerveld huisnr incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Huisnr" size="4" maxlength="4" value="<?php if (isset($_POST["Huisnr"])) { echo $_POST["Huisnr"]; } ?>" /><span class="vbfont"> (vb. 102a)</span>
</td>
</tr>
<tr>
<td>
Postcode:
</td>
<td>
<?php
//controle of er een postcode is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_postcode($_POST["Postcode"])) {
	echo "<font color=\"red\">Vul de postcode correct in!</font><br />";
}
?>
<!--invoerveld postcode incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Postcode" size="30" maxlength="6" value="<?php if (isset($_POST["Postcode"])) { echo $_POST["Postcode"]; } ?>" /><span class="vbfont"> (vb. 4811SW)</span>
</td>
</tr>
<tr>
<td>Plaats:</td>
<td>
<?php
//controle of er een plaats is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_plaats($_POST["Plaats"])) {
	echo "<font color=\"red\">Vul de plaats correct in!</font><br />";
}
?>
<!--invoerveld plaats incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Plaats" size="30" maxlength="30" value="<?php if (isset($_POST["Plaats"])) { echo $_POST["Plaats"]; } ?>" /> <span class="vbfont">(vb. Breda)</span>
</td>
</tr>
<tr>
<td>Email:</td>
<td>
<?php
//controle of er een emailadres is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_email($_POST["Email"])){
	echo "<font color=\"red\">Vul het emailadres correct in!</font><br />";
}
?>
<!--invoerveld achternaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Email" size=30" maxlength="30" value="<?php if (isset($_POST["Email"])) { echo $_POST["Email"]; } ?>" /> <span class="vbfont">(vb. martine.vander.franse@zeeland.net)</span>
</td>
</tr>
<tr>
<td>Telefoonnummer:</td>
<td>
<?php
//controle of er een telefoonnummer is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_telnr($_POST["Telnr"])){
	echo "<font color=\"red\">Vul het telefoonnummer correct in!</font><br />";
}
?>
<!--invoerveld achternaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Telnr" size="30" maxlength="10" value="<?php if (isset($_POST["Telnr"])) { echo $_POST["Telnr"]; } ?>" /> <span class="vbfont">(vb. 0123456789)</span>
</td>
</tr>
<tr>
<td>Opmerking:</td>
<td>
<?php
//controle of er een opmerking is ingevoerd
if (isset($_POST["Verzendbutton"]) && !$_POST["Opmerking"]){
	echo "<font color=\"red\">Vul hier de opmerking in!</font><br />";
}
?>
<!--invoerveld achternaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<textarea cols="50" rows="10" name="Opmerking"><?php if (isset($_POST["Opmerking"])) { echo $_POST["Opmerking"]; } ?></textarea>
</td>
</tr>
<tr>
<td>&nbsp</td>
<td><input type="submit" name="Verzendbutton" value="Verzenden" /></td>
</table>
</form>
<!--formulier einde-->

<?php
} else {
//ophalen ontvanger, onderwerp en redirectpagina
$to = $_POST["to"];
$subject = $_POST["subject"];
$redirect = $_POST["redirect"];

//superglobal $_POST resetten
reset($_POST);

//invoer ophalen en omzetten in variabelen
$voornaam = "Voornaam: ".$_POST["Voornaam"]."\n";
$achternaam = "Achternaam: ".$_POST["Tussenvoegsel"]." ".$_POST["Achternaam"]."\n";
$adres = "Adres: ".$_POST["Straat"]." ".$_POST["Huisnr"]."\n";
$postcode = "Postcode: ".$_POST["Postcode"]."\n";
$plaats = "Plaats: ".$_POST["Plaats"]."\n";
$email = "Emailadres: ".$_POST["Email"]."\n";
$telnr = "Telefoonnummer: ".$_POST["Telnr"]."\n";
$opmerking = "Opmerking : ".$_POST["Opmerking"]."\n";

//mailbody samenstellen uit opgehaalde invoer
$mailbody = $voornaam;
$mailbody .= $achternaam;
$mailbody .= $adres;
$mailbody .= $postcode;
$mailbody .= $plaats;
$mailbody .= $email;
$mailbody .= $telnr;
$mailbody .= $opmerking;

//email versturen
mail($to, $subject, $mailbody);

//afhandeling pagina
if (isset($redirect)){
	header("location: $redirect");
}
}
?>

<?php
//footer invoegen
include "footer.php"; 
?>

</body>
</html>
</body>
</html>
 
Dat duidt erop dat magic_quotes aan staat.

Die kun je uitzetten door middel van:

PHP:
ini_set("magic_quotes_runtime", "0");
 
Owkee, ff kijken of ik het begrijp.

PHP:
ini_set("magic_quotes_runtime", "0");

Dus je verander een instelling m.b.t. de magic quotes. Moet ik deze instelling boven in mijn script plaatsen en is hij dan van toepassing op het hele script?

En waarom moet het op die manier geschreven worden? Kan het ook op onderstaande manier?
PHP:
set_magic_quotes_runtime(false);
 
Het heeft niet het gewenste effect.
Als ik als plaats 's-Hertogenbosch invul, en een ander veld leeg laat zodat het formulier opnieuw getoond wordt met de melding dat er iets anders dan de plaats niet is ingevuld dan staat er:

\'s-Hertogenbosch.

Klik ik dan gewoon nog een keer op verzend dan staat er:

\\'s-Hertogenbosch

enz.

code is ingevoegd op regel 25 t/m 28:
PHP:
<html>
<body>
<head>
	<title>Formulier</title>
	<link rel="stylesheet" type="text/css" href="appdata/stylesheets/form.css" media="screen" />
</head>

<?php
//functies invoegen
include "function.inc.php";
?>

<?php
//header invoegen
include "header.php"; 
?>

<?php
//email instellingen
ini_set("smtp", "");
ini_set("smtp_port", 25);
ini_set("sendmail_from", "");
?>

<?php
//instelling om geen magic_quotes terug te krijgen in formulier
ini_set("magic_quotes_runtime", "0");
?>

<?php
//controle ingevoerde gegevens met of zonder hoofdletters worden afgehandeld
if (isset($_POST["Voornaam"])) { 
	$_POST["Voornaam"] = ucwords($_POST["Voornaam"]);
}
if (isset($_POST["Tussenvoegsel"])) {
	$_POST["Tussenvoegsel"] = strtolower($_POST["Tussenvoegsel"]);
}
if (isset($_POST["Achternaam"])) {
	$_POST["Achternaam"] = ucwords($_POST["Achternaam"]);
}
if (isset($_POST["Straat"])) {
	$_POST["Straat"] = ucwords($_POST["Straat"]);
}
if (isset($_POST["Huisnr"])) {
	$_POST["Huisnr"] = strtolower($_POST["Huisnr"]);
}
if (isset($_POST["Postcode"])) {
	$_POST["Postcode"] = strtoupper($_POST["Postcode"]);
}
if (isset($_POST["Plaats"])) {
	$_POST["Plaats"] = ucwords($_POST["Plaats"]);
}
if (isset($_POST["Email"])) {
	$_POST["Email"] = strtolower($_POST["Email"]);
}
?>

<?php
//controle of form verzonden is en of alle invoervakken een waarde hebben
//--ja dan mailscript afhandelen verder op pagina 
//--nee dan formulier weergeven
if (!isset($_POST["Verzendbutton"]) || 
	!valid_voornaam($_POST["Voornaam"]) ||
	!valid_tussenvoegsel($_POST["Tussenvoegsel"]) ||
	!valid_achternaam($_POST["Achternaam"]) ||
	!valid_straat($_POST["Straat"]) ||
	!valid_huisnr($_POST["Huisnr"]) ||
	!valid_postcode($_POST["Postcode"]) ||
	!valid_plaats($_POST["Plaats"]) ||
	!valid_email($_POST["Email"]) ||
	!valid_telnr($_POST["Telnr"]) ||
	!($_POST["Opmerking"])) {
?>

<!--formulier begin-->
<form method="post" action="scriptform.php">
<table>
<input type="hidden" name="to" value="" />
<input type="hidden" name="subject" value="Reactie website." />
<input type="hidden" name="redirect" value="http://localhost:8080/bedankt.php" />
<tr>
<td>
Voornaam:
</td>
<td>
<?php
//controle of er een voornaam is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_voornaam($_POST["Voornaam"])){
	echo "<font color=\"red\">Vul de voornaam correct in!</font><br />";
}
?>
<!--invoerveld voornaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Voornaam" size="30" maxlength="30" value="<?php if (isset($_POST["Voornaam"])) { echo $_POST["Voornaam"]; } ?>" /> <span class="vbfont">(vb. Martine)</span>
</td>
</tr>
<tr>
<td>
Tussenvoegsel:
</td>
<td>
<?php
//controleren of er een tussenvoegsel is ingevoerd en of deze juist is
if (isset($_POST["Verzendbutton"]) && !valid_tussenvoegsel($_POST["Tussenvoegsel"])) {
	echo "<font color=\"red\">Vul het tussenvoegsel in!</font><br />";
}
?>
<!--invoerveld tussenvoegsel incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Tussenvoegsel" size="30" maxlength="10" value="<?php if (isset($_POST["Tussenvoegsel"])) { echo $_POST["Tussenvoegsel"]; } ?>" /> <span class="vbfont">(vb. van der)</span>
</td>
</tr>
<tr>
<td>
Achternaam:
</td>
<td>
<?php
//controle of er een achternaam is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_achternaam($_POST["Achternaam"])) {
	echo "<font color=\"red\">Vul de achternaam correct in!</font><br />";
}
?>
<!--invoerveld achternaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Achternaam" size="30" maxlength="30" value="<?php if (isset($_POST["Achternaam"])) { echo $_POST["Achternaam"]; } ?>" /> <span class="vbfont">(vb. Franse)</span>
</td>
</tr>
<tr>
<td>
Straat:
</td>
<td>
<?php
//controle of er een straat is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_straat($_POST["Straat"])) {
	echo "<font color=\"red\">Vul de straat correct in!</font><br />";
}
?>
<!--invoerveld straat incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Straat" size="30" maxlength="30" value="<?php if (isset($_POST["Straat"])) { echo $_POST["Straat"]; } ?>" /><span class="vbfont"> (vb. Nicoline Swijgmanstraat)</span>
</td>
<td>
Huisnummer:
</td>
<td>
<?php
//controle of er een huisnr is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_huisnr($_POST["Huisnr"])) {
	echo "<font color=\"red\">Vul het huisnummer correct in!</font><br />";
}
?>
<!--invoerveld huisnr incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Huisnr" size="4" maxlength="4" value="<?php if (isset($_POST["Huisnr"])) { echo $_POST["Huisnr"]; } ?>" /><span class="vbfont"> (vb. 102a)</span>
</td>
</tr>
<tr>
<td>
Postcode:
</td>
<td>
<?php
//controle of er een postcode is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_postcode($_POST["Postcode"])) {
	echo "<font color=\"red\">Vul de postcode correct in!</font><br />";
}
?>
<!--invoerveld postcode incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Postcode" size="30" maxlength="6" value="<?php if (isset($_POST["Postcode"])) { echo $_POST["Postcode"]; } ?>" /><span class="vbfont"> (vb. 4811SW)</span>
</td>
</tr>
<tr>
<td>
Plaats:
</td>
<td>
<?php
//controle of er een plaats is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_plaats($_POST["Plaats"])) {
	echo "<font color=\"red\">Vul de plaats correct in!</font><br />";
}
?>
<!--invoerveld plaats incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Plaats" size="30" maxlength="30" value="<?php if (isset($_POST["Plaats"])) { echo $_POST["Plaats"]; } ?>" /> <span class="vbfont">(vb. Breda)</span>
</td>
</tr>
<tr>
<td>
Email:
</td>
<td>
<?php
//controle of er een emailadres is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_email($_POST["Email"])){
	echo "<font color=\"red\">Vul het emailadres correct in!</font><br />";
}
?>
<!--invoerveld achternaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Email" size=30" maxlength="30" value="<?php if (isset($_POST["Email"])) { echo $_POST["Email"]; } ?>" /> <span class="vbfont">(vb. martine.vander.franse@zeeland.net)</span>
</td>
</tr>
<tr>
<td>
Telefoonnummer:
</td>
<td>
<?php
//controle of er een telefoonnummer is ingevoerd en of deze juist is ingevoerd
if (isset($_POST["Verzendbutton"]) && !valid_telnr($_POST["Telnr"])){
	echo "<font color=\"red\">Vul het telefoonnummer correct in!</font><br />";
}
?>
<!--invoerveld achternaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<input type="text" name="Telnr" size="30" maxlength="10" value="<?php if (isset($_POST["Telnr"])) { echo $_POST["Telnr"]; } ?>" /> <span class="vbfont">(vb. 0123456789)</span>
</td>
</tr>
<tr>
<td>
Opmerking:
</td>
<td>
<?php
//controle of er een opmerking is ingevoerd
if (isset($_POST["Verzendbutton"]) && !$_POST["Opmerking"]){
	echo "<font color=\"red\">Vul hier de opmerking in!</font><br />";
}
?>
<!--invoerveld achternaam incl functie om een reedsingevoerde waarde terug te laten komen-->
<textarea cols="50" rows="10" name="Opmerking"><?php if (isset($_POST["Opmerking"])) { echo $_POST["Opmerking"]; } ?></textarea>
</td>
</tr>
<tr>
<td>&nbsp</td>
<td><input type="submit" name="Verzendbutton" value="Verzenden" /></td>
</table>
</form>
<!--formulier einde-->

<?php
} else {
//ophalen ontvanger, onderwerp en redirectpagina
$to = $_POST["to"];
$subject = $_POST["subject"];
$redirect = $_POST["redirect"];

//superglobal $_POST resetten
reset($_POST);

//invoer ophalen en omzetten in variabelen
$voornaam = "Voornaam: ".$_POST["Voornaam"]."\n";
$achternaam = "Achternaam: ".$_POST["Tussenvoegsel"]." ".$_POST["Achternaam"]."\n";
$adres = "Adres: ".$_POST["Straat"]." ".$_POST["Huisnr"]."\n";
$postcode = "Postcode: ".$_POST["Postcode"]."\n";
$plaats = "Plaats: ".$_POST["Plaats"]."\n";
$email = "Emailadres: ".$_POST["Email"]."\n";
$telnr = "Telefoonnummer: ".$_POST["Telnr"]."\n";
$opmerking = "Opmerking : ".$_POST["Opmerking"]."\n";

//mailbody samenstellen uit opgehaalde invoer
$mailbody = $voornaam;
$mailbody .= $achternaam;
$mailbody .= $adres;
$mailbody .= $postcode;
$mailbody .= $plaats;
$mailbody .= $email;
$mailbody .= $telnr;
$mailbody .= $opmerking;

//email versturen
mail($to, $subject, $mailbody);

//afhandeling pagina
if (isset($redirect)){
	header("location: $redirect");
}
}
?>

<?php
//footer invoegen
include "footer.php"; 
?>

</body>
</html>
 
Probeer het eens aan te zetten i.p.v. uit.

Dus:
PHP:
set_magic_quotes_runtime(true);
of
PHP:
ini_set("magic_quotes_runtime", "1");
 
Ik heb de code veranderd in:
PHP:
<?php
//instelling om geen magic_quotes terug te krijgen in formulier
ini_set("magic_quotes_runtime", "1");
?>

Resulteert in hetzelfde. Het lijkt er op dat de code niet gepakt wordt ofzo. Juiste plaats in het document? Of is er iets dat het overruled?
 
Heb je het nou ook met:

PHP:
set_magic_quotes_runtime(false);

geprobeerd?
 
Maakt geen verschil, true of false geven hetzelfde resultaat.

Wat kan er aan de hand zijn?
 
Laatst bewerkt:
Ik heb het probleem op kunnen lossen!

Ten eerst is het voor het hele formulier omslachtig om alles met de functie stripeslashes te doen. Bedankt voor dat advies over de magic_quotes!!!

In het formulier kan ik de code:
PHP:
set_ini("magic_quotes_runtime", "0");
wel opnemen, maar dit heeft geen effect. Het is een instelling die je in de php.ini file moet wijzigen.

Nu is het zo dat ik werk met usbwebserver 7.0 (zoals velen waarschijnlijk). Ik heb hier in zowel de php.ini file als in de settings.ini file de volgende aanpassing gemaakt:
Code:
; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

Deze instelling kun je alleen in de twee bestanden maken als je usbwebserver niet draaiende hebt. Wijzig dan de php.ini file en de settings.ini file en sla deze op. Start dan usbwebserver weer en voilá! Geen \ meer voor bijvoorbeeld een apostrof.

Bedankt voor de hulp. Ik had dit duwtje in de goede richting hard nodig.:thumb:
 
wat ik gedaan heb in mijn gastenboek is het volgende voor de berichten:

$bericht = htmlentities($_POST['bericht']);
$bericht = nl2br($bericht);
$bericht = stripslashes($bericht);

het werkt in dit geval bij mij voor alle velden
ik heb dit alleen gedaan voor het veld waarin het bericht wordt ingevuld maar bij de rest heb ik ook geen last van toegevoegde slashes dus ik denk dat het zo moet werken als het gebruikt bij 1 veld
 
wat ik gedaan heb in mijn gastenboek is het volgende voor de berichten:

$bericht = htmlentities($_POST['bericht']);
$bericht = nl2br($bericht);
$bericht = stripslashes($bericht);

het werkt in dit geval bij mij voor alle velden
ik heb dit alleen gedaan voor het veld waarin het bericht wordt ingevuld maar bij de rest heb ik ook geen last van toegevoegde slashes dus ik denk dat het zo moet werken als het gebruikt bij 1 veld

Owkee,

bovenste 2 regels vat ik ff niet. De onderste wel...hoe stel je dan voor dat ik dat in mijn pagina verwerk?
 
PHP:
$bericht = htmlentities($_POST['bericht']);
$bericht = nl2br($bericht);
$bericht = stripslashes($bericht);
htmlentities is om ervoor te zorgen dat er niet met je code gerotzooid kan worden bijvoorbeeld dit teken < wordt dan opgeslagen als &lt; en dan heeft het geen invloed op je code :)
nl2br is als het goed is om de breaks te regelen
en stripslashes weet je :)

wat ik heb gedaan is het volgende:
PHP:
<?php
    
$datum = date("d.m.y H:i");
$bericht = htmlentities($_POST['bericht']);
$bericht = nl2br($bericht);
$bericht = stripslashes($bericht);

// defineer het bestand met berichten
$file = "posts.php";

// open het bestand
$fopenr = fopen ($file, "r"); 

// sla de inhoud op om de eerder toegevoegde berichten
// te onthouden en te herschrijven onder het nieuwe bericht
$msgs = fread ($fopenr, filesize ($file)); 

// open de file nogmaals maar dan nu om er in te schrijven
$fopenw = fopen($file, "w+");

// schrijf nieuwe bericht + alle oude in $file
fwrite($fopenw, "
\n\n<!-- bericht -->\n
<div class=\"gastenboek\">
<table><tr><td>
<b>".$_POST['naam']."</b> <a href=\"mailto:".$_POST['email']."\"> ".$_POST['email']."</a><br>\n
<blockquote><p>$bericht</p></blockquote>\n
<p>".$_POST['woonplaats']." - $datum</p></td></tr></table></div>$msgs
"); 

// sluit het bestand
fclose($fopenw);

require("gastenboek.php");
?>
en je kan nu dus $bericht ingeven waar je je bericht wilt hebben ipv $_post['bericht'] omdat je dit al ingegeven hebt bij htmlentities :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan