Differences
This shows you the differences between two versions of the page.
dvprog15 [2020-01-09 13:24] Daniel Viström |
dvprog15 [2022-07-18 13:20] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Tips till gästboken: Undvika notice, hantera felmeddelanden, | ||
- | |||
- | Här är ett exempel med några tips: | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | |||
- | // Ha gärna logiken längst upp och utskrifterna längst ner. | ||
- | |||
- | // Skapar en tom array för felmeddelanden. | ||
- | $errors = []; | ||
- | |||
- | // 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[' | ||
- | // felmeddelande och utskrift när sidan laddas första gången. | ||
- | if (isset($_POST[' | ||
- | |||
- | $ok = true; // Variabeln håller reda på om något är fel. | ||
- | |||
- | if(empty($_POST[' | ||
- | $errors[] = 'Du har inte angett namn.'; | ||
- | $ok = false; | ||
- | } | ||
- | | ||
- | if($_POST[' | ||
- | $errors[] = 'Du får inte ange detta namn.'; | ||
- | $ok = false; | ||
- | } | ||
- | |||
- | if(empty($_POST[' | ||
- | $errors[] = 'Du har inte angett ålder.'; | ||
- | $ok = false; | ||
- | } else { | ||
- | if(!is_numeric($_POST[' | ||
- | $errors[] = ' | ||
- | $ok = false; | ||
- | } | ||
- | } | ||
- | |||
- | if ($ok == true){ | ||
- | $message = ' | ||
- | if($_POST[' | ||
- | $message = $message.' | ||
- | } | ||
- | } | ||
- | |||
- | } else { | ||
- | |||
- | // $_POST[' | ||
- | // fel i formuläret där det används. | ||
- | $_POST[' | ||
- | } | ||
- | |||
- | include ' | ||
- | echo $message . '< | ||
- | |||
- | // Skriver ut felmeddelanden. | ||
- | $i = 0; | ||
- | while ($i < count($errors)){ | ||
- | echo '< | ||
- | $i++; | ||
- | } | ||
- | /* | ||
- | .error { | ||
- | border: black 1px solid; | ||
- | color: red; | ||
- | padding: 10px; | ||
- | margin: 10px 0px; | ||
- | } | ||
- | */ | ||
- | |||
- | // Skickar med ett " | ||
- | // med nästa inmatning som görs. | ||
- | echo ' | ||
- | <form method=" | ||
- | <input type=" | ||
- | <input type=" | ||
- | <input type=" | ||
- | <input type=" | ||
- | </ | ||
- | '; | ||
- | |||
- | include ' | ||
- | ?></ | ||
- | |||
- | Kolla upp [[http:// | ||