PHP expert |
|
Ik neem aan dat je een bepaalde userinput wilt gaan valideren en nakijken of deze enkel bestaat uit cijfers. Ik zal je aan de hand van volgend stukje code proberen duidelijk te maken hoe dit het best verloopt.
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['getal']) && ctype_digit($_POST['getal']) && strlen($_POST['getal']) <= 10)
{
echo 'Correct!';
} else
{
echo 'Oeps, foutje!';
}
} else
{
?>
<form action="" method="post">
Getal: <input type="text" name="getal" /><br />
<input type="submit" value="Verzenden!" />
</form>
<?php if($_SERVER['REQUEST_METHOD'] == 'POST') { { } else { } } else { ?> <form action="" method="post"> Getal: <input type="text" name="getal" /><br /> <input type="submit" value="Verzenden!" /> </form>
Wanneer het formulier dus wordt verzonden wordt er eerst nagekeken of die waarde bestaat, daarna kijken we of het een getal is (dit doe ik met de handige functie PHP.net: ctype_digit) en als laatste kijken we of de lengte van je invoer niet langer is dan 10 tekens (met PHP.net: strlen).
Succes!
Edit: @Erwt: is_numeric laat ook 123.56, 10e+5, en dergelijke toe, dus dan bestaat de invoer niet enkel uit getallen, wat de topic starter vroeg. |