Webbserverprogrammering 1

Show sourcecode

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

webbsrvprg/quiz/

admin.php
createQuiz.php
createadmin.php
logIn.php
myStats.php
playquiz.php
result.php
scoreboard.php
signIn.php
start.php
startsida.php
stats.php
style.css
tables.php
update.php

result.php

92 lines UTF-8 Windows (CRLF)
<?php 
  
/** @var PDO $dbconn */
  
include ("start.php");

    try {
      
$score 0;

      if (isset(
$_POST["quizId"])) {
        
$quizId $_POST["quizId"];

        
// Välj quizet som spelades
        
$sql "SELECT * FROM quizes WHERE id=?";
        
$stmt $dbconn->prepare($sql);

        
$data = array($quizId);
        
$stmt->execute($data);

        
$quiz $stmt->fetch(PDO::FETCH_ASSOC);
        
$quizname $quiz["quizname"];

        
// Skriv ut quizets namn
        
echo "<h1>$quizname</h1>";

        
// Välj alla frågor som tillhör quizet
        
$sql "SELECT * FROM questions WHERE quizId=?";
        
$questions $dbconn->prepare($sql);

        
$data = array($quizId);
        
$questions->execute($data);

        
// Loopa för varje fråga
        
while ($q $questions->fetch(PDO::FETCH_ASSOC)) {
          
$questionId $q["id"];
          
$question $q["question"];
          
$chosenAnswer $_POST["a$questionId"];

          
// Skriv ut frågan
          
echo "<div id='q$questionId'><h2>$question</h2>";

          
// Välj alla svar som tillhör frågan
          
$sql "SELECT * FROM answers WHERE questionId=?";
          
$answers $dbconn->prepare($sql);

          
$data = array($questionId);
          
$answers->execute($data);

          
// Skriv ut alla frågor, markera den rätta med grön och öka score med 1 om spelaren valde den, 
          // markera annars spelarens val med röd
          
while ($a $answers->fetch(PDO::FETCH_ASSOC)) {
            
$answerId $a["id"];
            
$answer $a["answer"];
            
$isCorrect $a["isCorrect"];

            
$color "none";

            if (
$chosenAnswer == "a$answerId") {
              
$color "red";
            }
            
            if (
$isCorrect == "1") {
              
$color "limegreen";

              if (
$chosenAnswer == "a$answerId") {
                
$score++;
              }
            }

            echo 
"<p style='background-color:$color'>$answer</p>";
          }

          echo 
"</div>";
        }
        echo 
"Score: $score";

        
// Spara resultatet i en tabell
        
$sql "INSERT INTO results  (playerId, quizId, score)
          VALUES (?, ?, ?)"
;

        
$stmt $dbconn->prepare($sql);

        
$playerId $_COOKIE["id"];

        
$data = array($playerId$quizId$score);
        
$stmt->execute($data);
      }
    }
    catch (
PDOException $e) {
      echo 
$e->getMessage() . "<br>";
    }
    
?>
</body>
</html>