Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
dvprog15 [2016-02-09 09:36]
Daniel Viström
dvprog15 [2017-11-20 10:31]
Daniel Viström
Line 1: Line 1:
-====== Tips för att undvika notice (och lite annat======+====== Tips till gästboken: Undvika notice, hantera felmeddelanden, lägga in 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);   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);  
Line 7: Line 7:
 <code php> <code php>
 <?php <?php
 + 
 // Ha gärna logiken längst upp och utskrifterna längst ner. // Ha gärna logiken längst upp och utskrifterna längst ner.
- +  
-// Skapar en tom sträng för felmeddelanden för att inte riskera att få  +// Skapar en tom sträng för meddelanden för att inte riskera att få  
-// notice om att variabeln inte finns när felmeddelandet ska skrivas ut. +// notice om att variabeln inte finns när meddelandet ska skrivas ut. 
-$error = '';   +$message = '';   
 + 
 // isset() kollar om $_POST['namn'] finns för att inte få // isset() kollar om $_POST['namn'] finns för att inte få
 // felmeddelande och utskrift när sidan laddas första gången. // felmeddelande och utskrift när sidan laddas första gången.
 if (isset($_POST['namn'])) {  if (isset($_POST['namn'])) { 
 + 
     $ok = true;  // Variabeln håller reda på om något är fel.     $ok = true;  // Variabeln håller reda på om något är fel.
- + 
     if(empty($_POST['namn'])){ // empty() kollar om inget är inmatat.     if(empty($_POST['namn'])){ // empty() kollar om inget är inmatat.
- $error = 'Du har inte angett namn.<br />';+ $message = 'Du har inte angett namn.<br>';
  $ok = false;  // Nu har ett fel hittats.  $ok = false;  // Nu har ett fel hittats.
     }     }
     if($_POST['namn'] == 'Daniel'){     if($_POST['namn'] == 'Daniel'){
- $error = 'Du får inte ange detta namn.<br />';+ $message = 'Du får inte ange detta namn.<br>';
  $ok = false;  // Nu har ett fel hittats.  $ok = false;  // Nu har ett fel hittats.
     }     }
-    + 
     if ($ok == true){  // Utförs om inga fel hittats.     if ($ok == true){  // Utförs om inga fel hittats.
-       echo 'Namnet är ' . $_POST['namn'] . '<br />';+       $message = 'Namnet är ' . $_POST['namn'] . '<br>';
        if($_POST['namn'] == $_POST['namn2']){        if($_POST['namn'] == $_POST['namn2']){
-         echo 'SAMMA IGEN <br />';+         $message = $message.'SAMMA IGEN <br>';
        }        }
     }     }
-           + 
 } else { } else {
 + 
   // $_POST['namn'] skapas om det inte finns för att undvika    // $_POST['namn'] skapas om det inte finns för att undvika 
   // fel i formuläret där det används.   // fel i formuläret där det används.
   $_POST['namn']='';     $_POST['namn']='';  
 } }
 + 
 include('head.php'); include('head.php');
-echo $error . '<br />'; // Skriver ut eventuellt felmeddelande eller tom sträng. +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 // Skickar med ett "gömt" värde i formuläret för att kunna jämföra
 // med nästa inmatning som görs. // med nästa inmatning som görs.
 echo ' echo '
 <form method="post"> <form method="post">
- <input type="text" placeholder="Namn" name="namn" /><br /+    <input type="text" placeholder="Namn" name="namn"><br> 
-    <input type="hidden" name="namn2" value="' . $_POST['namn'] . '" />+    <input type="hidden" name="namn2" value="' . $_POST['namn'] . '">
     <input type="submit" name="submit" value="Skicka">     <input type="submit" name="submit" value="Skicka">
 </form> </form>
 ';  // Hela formuläret ligger i en "php-rad". ';  // Hela formuläret ligger i en "php-rad".
 + 
 include('foot.php'); include('foot.php');
 ?> ?>
- 
 </code> </code>