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 [2019-04-15 09:23]
Daniel Viström
dvprog15 [2019-09-09 09:23]
Daniel Viström
Line 9: Line 9:
    
 // 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 array för felmeddelanden.
 +$errors = []; 
    
 // Skapar en tom sträng för meddelanden för att inte riskera att få  // Skapar en tom sträng för meddelanden för att inte riskera att få 
Line 16: Line 19:
 // 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'], $_POST['alder'])) {
    
-    $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. 
- $message = 'Du har inte angett namn.<br>'; +    $errors[] = 'Du har inte angett namn.<br>';  // Lägger till ett felmeddelande. 
- $ok = false;  // Nu har ett fel hittats. +    $ok = false;  // Nu har ett fel hittats. 
-    +  
-    if($_POST['namn'] == 'Daniel'){ +   
- $message = 'Du får inte ange detta namn.<br>'; +  if($_POST['namn'] == 'Daniel'){ 
- $ok = false;  // Nu har ett fel hittats.+    $errors[] = 'Du får inte ange detta namn.<br>'; // Lägger till ett felmeddelande. 
 +    $ok = false;  // Nu har ett fel hittats. 
 +  } 
 +  
 +  if(empty($_POST['alder'])){ // empty() kollar om inget är inmatat. 
 +    $errors[] = 'Du har inte angett å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. +  if ($ok == true){  // Utförs om inga fel hittats. 
-       $message = 'Namnet är ' . $_POST['namn'] . '<br>'; +    $message = 'Namnet är ' . $_POST['namn'] . '<br>'; 
-       if($_POST['namn'] == $_POST['namn2']){ +    if($_POST['namn'] == $_POST['namn2']){ 
-         $message = $message.'SAMMA IGEN <br>'; +      $message = $message.'SAMMA IGEN <br>';
-       }+
     }     }
 +  }
    
 } else { } else {
Line 40: Line 54:
   // $_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 $message . '<br>'; // Skriver ut eventuellt meddelande eller tom sträng. echo $message . '<br>'; // Skriver ut eventuellt meddelande eller tom sträng.
 +
 +// Skriver ut felmeddelanden. 
 +$i = 0;
 +while ($i < count($errors)){
 +  echo '<div class="error">' . $errors[$i] . '</div>';
 +  $i++;
 +}
 +/*
 +.error {
 +  border: black 1px solid;
 +  color: red;
 +  padding: 10px;
 +  margin: 10px 0px;
 +}
 +*/
    
 // 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
Line 51: Line 80:
 <form method="post"> <form method="post">
     <input type="text" placeholder="Namn" name="namn"><br>     <input type="text" placeholder="Namn" name="namn"><br>
 +    <input type="text" placeholder="Ålder" name="alder"><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">
Line 56: Line 86:
 ';  // Hela formuläret ligger i en "php-rad". ';  // Hela formuläret ligger i en "php-rad".
    
-include('foot.php')+include 'foot.php'; 
-?> +?></code>
-</code>+
  
 Kolla upp [[http://www.php.net/manual/en/ref.strings.php|strängfunktionerna]] för att hantera html-taggar i saker som matas in i formulär. Kolla upp [[http://www.php.net/manual/en/ref.strings.php|strängfunktionerna]] för att hantera html-taggar i saker som matas in i formulär.