This is an old revision of the document!
Tips till gästboken: undvika notice, felmeddelanden, värden i formulär och lite annat
Om du vill ha en större utmaning och få en bättre kod så försök att klara dig utan att använda
error_reporting(E_ALL ^E_NOTICE);
Här är ett exempel med några tips:
<?php // Ha gärna logiken längst upp och utskrifterna längst ner. // Skapar en tom sträng för meddelanden för att inte riskera att få // notice om att variabeln inte finns när meddelandet ska skrivas ut. $message = ''; // isset() kollar om $_POST['namn'] finns för att inte få // felmeddelande och utskrift när sidan laddas första gången. if (isset($_POST['namn'])) { $ok = true; // Variabeln håller reda på om något är fel. if(empty($_POST['namn'])){ // empty() kollar om inget är inmatat. $message = 'Du har inte angett namn.<br>'; $ok = false; // Nu har ett fel hittats. } if($_POST['namn'] == 'Daniel'){ $message = 'Du får inte ange detta namn.<br>'; $ok = false; // Nu har ett fel hittats. } if ($ok == true){ // Utförs om inga fel hittats. $message = 'Namnet är ' . $_POST['namn'] . '<br>'; if($_POST['namn'] == $_POST['namn2']){ $message = $message.'SAMMA IGEN <br>'; } } } else { // $_POST['namn'] skapas om det inte finns för att undvika // fel i formuläret där det används. $_POST['namn']=''; } include('head.php'); echo $message . '<br>'; // Skriver ut eventuellt meddelande eller tom sträng. // Skickar med ett "gömt" värde i formuläret för att kunna jämföra // med nästa inmatning som görs. echo ' <form method="post"> <input type="text" placeholder="Namn" name="namn"><br> <input type="hidden" name="namn2" value="' . $_POST['namn'] . '"> <input type="submit" name="submit" value="Skicka"> </form> '; // Hela formuläret ligger i en "php-rad". include('foot.php'); ?>