Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

webbserver/ovningar/fragetavling/

fragetavling.php

fragetavling.php

135 lines UTF-8 Windows (CRLF)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Frågetävling</title>
</head>
<body>
  <h1>Frågetävling</h1>
  <?php
  $password 
"hejsvejs";
  
  
// Hämta värden från formulär
  
$logged_in = isset($_POST['logged_in']) ? $_POST['logged_in'] : false;
  
$current_question = isset($_POST['current_question']) ? (int)$_POST['current_question'] : 1;
  
$name = isset($_POST['name']) ? $_POST['name'] : "";
  
  
// Hantera lösenord
  
if (isset($_POST["password"]) && !empty($_POST["password"])) {
    if (
$_POST["password"] === $password) {
      
$logged_in true;
      echo 
"<p style='color: green;'>Rätt lösenord!</p>";
    } else {
      echo 
"<p style='color: red;'>Fel lösenord!</p>";
      
$logged_in false;
    }
  }
  
  
// Hantera namn (kommer från name-formulär)
  
if (isset($_POST["submit_name"]) && !empty($_POST["name"])) {
    
$name $_POST["name"];
  }
  
  
// Hantera svar
  
if (isset($_POST["answer"]) && !empty($_POST["answer"])) {
    if (
$_POST["answer"] == "true") {
      
$current_question++;
      echo 
"<p style='color: green;'>Rätt svar!</p>";
    } else {
      echo 
"<p style='color: red;'>Fel svar, försök igen!</p>";
    }
  }

  if (
$logged_in == true) {
    echo 
"Du är inloggad!";
    
    if (!empty(
$name)) {
      echo 
"<p>Hej $name!</p>";

      switch (
$current_question) {
        case 
1:
            echo 
"<h2>Fråga 1: Vad är 2+2?</h2>";
            echo 
"<form method='post'>
                    <select name='answer' id='answer'>
                        <option value=''>Välj svar...</option>
                        <option value='false'>0</option>
                        <option value='false'>22</option>
                        <option value='false'>8</option>
                        <option value='true'>4</option>
                    </select>
                    <input type='hidden' name='logged_in' value='true'>
                    <input type='hidden' name='name' value='
$name'>
                    <input type='hidden' name='current_question' value='
$current_question'>
                    <br><br>
                    <input type='submit' value='Svara'>
                  </form>"
;

                break;

        case 
2:
            echo 
"<h2>Fråga 2: Vad heter Sveriges huvudstad?</h2>";
            echo 
"<form method='post'>
                    <select name='answer' id='answer'>
                        <option value=''>Välj svar...</option>
                        <option value='false'>Malmö</option>
                        <option value='true'>Stockholm</option>
                        <option value='false'>Göteborg</option>
                        <option value='false'>Strömstad</option>
                    </select>
                    <input type='hidden' name='logged_in' value='true'>
                    <input type='hidden' name='name' value='
$name'>
                    <input type='hidden' name='current_question' value='
$current_question'>
                    <br><br>
                    <input type='submit' value='Svara'>
                  </form>"
;

            break;

        case 
3:
          echo 
"<h2>Fråga 3: Vilken Artist är bäst</h2>";
            echo 
"<form method='post'>
                    <select name='answer' id='answer'>
                        <option value=''>Välj svar...</option>
                        <option value='false'>Death Grips</option>
                        <option value='false'>The Doors</option>
                        <option value='true'>Bob Dylan</option>
                        <option value='false'>Drake</option>
                    </select>
                    <input type='hidden' name='logged_in' value='true'>
                    <input type='hidden' name='name' value='
$name'>
                    <input type='hidden' name='current_question' value='
$current_question'>
                    <br><br>
                    <input type='submit' value='Svara'>
                  </form>"
;
              break;
        case 
4:
            echo 
"<h2>Gratulationer!</h2>";
            echo 
"<p>Du har klarat alla frågor, $name!</p>";
            echo 
"<p><a href='fragetavling.php'>Spela igen</a></p>";
            break;
        default:
            echo 
"<h2>Fel: Okänd fråga</h2>";
            break;
      }
    } else {
      echo 
"<form method='post' action=''>";
      echo 
"<label for='name'>Ange ditt namn: </label>";
      echo 
"<input type='text' id='name' name='name' required>";
      echo 
"<input type='hidden' name='logged_in' value='true'>";
      echo 
"<input type='hidden' name='current_question' value='1'>";
      echo 
"<br><br>";
      echo 
"<input type='submit' name='submit_name' value='Skicka'>";
      echo 
"</form>";
    }
  } else {
    echo 
"<form method='post' action=''>";
    echo 
"<label for='password'>Lösenord: </label>";
    echo 
"<input type='password' id='password' name='password' required>";
    echo 
"<input type='submit' value='Logga in'>";
    echo 
"</form>";
  }
  
?>

</body>
</html>