This is an old revision of the document!


Genomgång - $_GET, $_POST

  <?php  
    /* Om hantering av superglobals $_GET och $_POST.
       $_GET hämtar variabler från en query-string (t.ex. "?tal1=4&tal2=7" skrivs direkt efter sidans web-adress).
       $_POST hämtar variabler från formulär med method="post".
 
       $_GET och $_POST fungerar ungefär som sortimentlådor där man satt ettikett på några fack.
       T.ex. kommer man åt det som ligger i facket 'tal1' om man skriver $_GET['tal1'] 
       eller $_POST['tal1'] beroende på vilket sätt man använder för att mata in data.
    */
 
 
    print_r($_GET);                   // Bra för felsökning. Ta bort i färdiga programmet.
    echo '<br>';
    print_r($_POST);                  // Bra för felsökning. Ta bort i färdiga programmet.
    echo '<br>';
 
    echo 'tal1 är: ' . $_GET['tal1'] . '<br>';
 
    // För att undvika notice-meddelanden första gången sidan laddas används isset. 
    // $_POST['fname'] och $_POST['lname'] finns först efter att man tryckt på knappen i formuläret och sidan laddats om.
    if(isset($_POST['fname'], $_POST['lname'])){  
      echo $_POST['fname'] . ' ' . $_POST['lname'] . ' heter du <br>';
 
      if($_POST['fname'] == 'Daniel') {           // OBS! två lika med för att kolla om likhet gäller.
        echo 'Ett sånt vackert namn. <br>';
      } else {                                     // else = "annars". Utförs om inte villkoret i if-satsen är sant.
        if (!empty($_POST['fname'])) {               // !empty  betyder "inte tom".
          echo 'Hej på dig ' . $_POST['fname'] . '<br>';
        }
      }
 
      if ($_POST['fname'] == 'Daniel' && $_POST['lname']=='Viström'){
        echo 'Så kan det gå. <br>';
      }
  }  
  ?>
 
  <form method="post">                                  
    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    <input type="submit" name="submit" value="Knapp">
  </form>