This is an old revision of the document!
Tips för kontroll av inmatningar
Här är ett exempel med några tips:
<?php <?php // Ha gärna logiken längst upp och utskrifterna längst ner. // Lagra alla felmeddelanden i en array. $errors = array(); // Skapa en tom array. $message = ''; // isset() kollar om $_POST['submit'] finns för att inte få // felmeddelande och utskrift när sidan laddas första gången. if (isset($_POST['submit'])) { $ok = true; // Variabeln håller reda på om något är fel. if(empty($_POST['namn'])){ // empty() kollar om inget är inmatat. $errors[] = 'Du har inte angett namn.'; // Lägger till ett felmeddelande $ok = false; // Nu har ett fel hittats. } if($_POST['namn'] == 'Anders'){ $errors[] = 'Du får inte ange detta namn.'; $ok = false; // Nu har ett fel hittats. } if(empty($_POST['alder'])){ // empty() kollar om inget är inmatat. $errors[] = 'Du har inte angett en ålder.'; // Lägger till ett felmeddelande $ok = false; // Nu har ett fel hittats. }else { if(!is_numeric($_POST['alder'])){ // kollar om inmatningen INTE består av siffror. $errors[] = 'Angiven ålder måste bestå av siffror.'; // Lägger till ett felmeddelande $ok = false; // Nu har ett fel hittats. } } if ($ok == true){ // Utförs om inga fel hittats. $message = 'Namnet är ' . $_POST['namn'] . '<br>'; } } else { // $_POST['namn'] skapas om det inte finns för att undvika // fel i formuläret där det används. $_POST['namn']=''; $_POST['alder']=''; } include('head.php'); // Skriv ut felmeddelanden $i = 0; while ($i < count($errors)){ echo '<div class="error">' . $errors[$i] . '</div>'; $i++; } // Skriver ut messege som antingen är tom eller innehåller inmatningen. echo $message . '<br>'; echo ' <form method="post"> <input type="text" placeholder="Namn" name="namn" value="'.$_POST['namn'].'"><br> <input type="text" placeholder="Ålder" name="alder" value="'.$_POST['alder'].'"><br> <input type="submit" name="submit" value="Skicka"> </form> '; // Hela formuläret ligger i en "php-rad". include('foot.php'); ?>