Voor een formulier wil ik de ingevulde gegevens van een naam controleren. Ik gebruik de volgende code:

<?php
echo "<form action=\"controle.php\" method=\"post\">
<input type=\"text\" size=\"50\" maxlength=\"50\" name=\"naam\" />
<input type=\"submit\" value=\"test\">
</form>";

$name = $_POST['naam'];
if (!ereg("^[A-Za-z' -]{1,50}$", $name)){
echo "De naam \"$name\" voldoet niet";
}
else{
echo "De naam \"$name\" voldoet";
}
?>

Het werkt prima voor alle tekens behalve voor de apostroph. Als ik bijvoorbeeld "Spring in 't Veld" invul, dan krijg ik de volgende tekst terug:
"De naam "Spring in \'t Veld" voldoet niet".

Waarrom voegt hij een / toe en voldoet de naam niet?
En zo?
$name = stripslashes($_POST['naam']);
Ja, inderdaad. Hij doet het. Thanx!

Reageren