We hebben de laatste tijd last van spookklanten, maar de voeren in het telefoon nummer veld vaak letters in.
Nu heb ik gekeken dat het alleen mogelijk in om cijfers in te voeren, maar ik krijg dit niet werkend in het script.
ps. de tabbellen(zie onderstaande script) worden uit een ander script gehaald d.m.v include("reg_form.php");
Het script staat wel geplaatst in een soort variable (dat verklaart ook de "\ "\ in de tabellen).
$reg_form = "
/////code(tabel)/////
";
onderstaand het stukje code van de telefoon nummers
Ja klopt, maar hoe kan ik die in mijn script implenteren, op een of andere manier kan ik geen if statement maken die werkt in mijn registratie script.
want moet daarna ook een foutmelding genereren.
Op de onderstaande manier zou je een formulier kunnen controleren. Dit is de basis, hiermee garandeer ik geen veiligheid(zeker niet als je gegevens opslaat in een database!)
// Eerst controleren of er uberhaupt iets gepost is naar de pagina
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
// $e is de variabele(array) waar we de errors in aangeven
$e = null;
// Velden controleren
if (empty($_POST['telefoon']))
{
// veld is leeg, doe iets
$e[] = 'Het telefoon nummer was niet ingevuld!';
}
if (is_numeric($_POST['telefoon']) && strlen($_POST['telefoon']) == 10)
{
// veld is invalid, doe iets
$e[] = 'Het telefoon nummer was niet juist ingevuld!';
}
// Alle velden zijn gecontroleerd, nu controleren of er fouten waren
if(is_null($e))
{
// Er zijn geen fouten gevonden!
}
else
{
// Er zijn wel fouten gevonden
}
}
PS: Op lijn 3 ben je een double quote(") vergeten.
@stijn: Zelfs als elke browser HTML5 zou ondersteunen zou ik deze feature niet vertrouwen. Iedere (kwaadwillende) gebruiker zou dit aan kunnen passen. Daarbuiten is het wel een mooie feature om te zorgen dat de 'gewone' gebruiker alleen nummers in zal voeren.
Mensen kunnen gewoon nog steeds cijfers gebruiken, zonder dat dit een fout geeft.
if (is_numeric($_POST['mobiel']) && strlen($_POST['mobiel']) == 10)
{
// veld is invalid, doe iets
$message[] = 'Het telefoon nummer was niet juist ingevuld!';
}