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
dvprog15 [2019-04-15 11:15]
Daniel Viström
dvprog15 [2022-07-18 13:20] (current)
Line 1: Line 1:
 ====== Tips till gästboken: Undvika notice, hantera felmeddelanden, lägga in värden i formulär 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);   
  
 Här är ett exempel med några tips: Här är ett exempel med några tips:
Line 24: Line 22:
    
   if(empty($_POST['namn'])){ // empty() kollar om inget är inmatat.   if(empty($_POST['namn'])){ // empty() kollar om inget är inmatat.
-    $errors[] = 'Du har inte angett namn.<br>';  // Lägger till ett felmeddelande.+    $errors[] = 'Du har inte angett namn.';  // Lägger till ett felmeddelande.
     $ok = false;  // Nu har ett fel hittats.     $ok = false;  // Nu har ett fel hittats.
   }   }
      
   if($_POST['namn'] == 'Daniel'){   if($_POST['namn'] == 'Daniel'){
-    $errors[] = 'Du får inte ange detta namn.<br>'; // Lägger till ett felmeddelande.+    $errors[] = 'Du får inte ange detta namn.'; // Lägger till ett felmeddelande.
     $ok = false;  // Nu har ett fel hittats.     $ok = false;  // Nu har ett fel hittats.
   }   }
Line 43: Line 41:
   }   }
    
-  if ($ok == true){  // Utförs om inga fel hittats.+  if ($ok){  // Utförs om inga fel hittats. Samma som att skriva $ok == true
     $message = 'Namnet är ' . $_POST['namn'] . '<br>';     $message = 'Namnet är ' . $_POST['namn'] . '<br>';
     if($_POST['namn'] == $_POST['namn2']){     if($_POST['namn'] == $_POST['namn2']){
Line 57: Line 55:
 } }
    
-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.
  
Line 86: Line 84:
 ';  // Hela formuläret ligger i en "php-rad". ';  // Hela formuläret ligger i en "php-rad".
    
 +include 'foot.php';
 +</code>
 +
 +Alternativt kan man hantera formuläret så här där php startas och stängs mitt i HTML-koden:
 +<code php>
 +<?php
 +
 +// Alla kontroller här som ovan.
 +
 +include('head.php');
 +
 +// Alla utskrifter här som ovan.
 +
 +?>
 +
 +<form method="post">
 +   <input type="text" placeholder="Namn" name="namn"><br>
 +   <input type="text" placeholder="Ålder" name="alder"><br>
 +   <input type="hidden" name="namn2" value="<?php echo $_POST['namn'] ?>">
 +   <input type="submit" name="submit" value="Skicka">
 +</form>
 +
 +<?php
 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.