This is an old revision of the document!


Hantera input via get och post

Syfte: att lära sig ta hand om data som kommer via $_POST och $_GET.
OBS! För att php skall fungera måste skripten ligga på en webserver som har stöd för PHP.

<?php
// Om man vill slippa se en massa NOTICE meddelanden:
error_reporting(E_ALL ^E_NOTICE);
// Tips!
print_r($_POST);
print_r($_GET);
if ($_GET['passwd'] == 'secret') {
  echo 'Grattis, du har knäckt koden'; 
} else {
  echo 'Du kan inte det hemliga lösenordet';
}
 
<form method="post">
  <input type="text" name="login">
  <input type="password" name="passwd">
  <input type="submit" name="submit" value="Login">
</form>

1. Gör en sida där man måste mata in rätt query-string för att få se något hemligt. Om man har fel ska det stå att man inte är behörig.
(Om du inte vet vad query-string är…)

2. Gör en sida där man matar in 2 tal via ett formulär, när man har tryckt på skicka skall det skrivas ut vilka tal man skrev in och vilket av dem som var störst.

3. Gör en sida där man matar in 2 tal via ett formulär, när man har tryckt på skicka skall talen skrivas ut i storleksordning, störst först!

4. Gör en sida med en fråga, om man svarar rätt via ett formulär skall det stå att man har svarat rätt annars skall det stå att man har svarat fel.

5. Gör en sida för inloggning via ett formulär. Om man anger rätt login och lösen så får man upp ett välkomstmeddelande annars skall det stå att det är felaktig inloggning. Det behöver bara finnas ett korrekt login.

6. Utöver $_POST och $_GET finns några till “Superglobals” variabler. Ni skall nu med hjälp av $_SERVER skriva ut vilket IP den som surfar till sidan har.
Tips! använd dig av print_r($_SERVER) för att se vad som finns i denna variabel. print_r ska dock inte vara med i den färdiga koden.

7. a) Gör en sida där man får mata in två tal och en text i ett formulär. Om båda talen är större än 100 så ska texten skrivas ut.
Försök att lösa detta med endast en if-sats.
b) Gör en sida där man får mata in två tal och en text i ett formulär. Om minst ett av talen är större än 100 så ska texten skrivas ut.
Försök att lösa detta med endast en if-sats.

8. Extrauppgift: Klura ut hur radio button i forms funkar och gör en frågesport med minst 5 frågor som rättas av PHP. Efter att man har svarat skall man få reda på hur många rätt man fick.

9. Extrauppgift: Gör en sida där man matar in tre tal, när man trycker på submit skall talen skrivas ut i storleksordning. (svårare än man kan tro…)

10. Uppgift vid tid över: Ta reda på hur php-funktionen mail() fungerar. Gör sedan en sida som skickar iväg ett mail. På sidan ska man ange en mottagaradress, ett ämne och ett meddelande. Sidan ska ge ett felmeddelande och inte skicka iväg mailet om något av fälten i formuläret är tomt. (Bonus: Få mailet att hantera svenska bokstäver (ÅÄÖ))