Webbserverprogrammering 1

Show sourcecode

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

webbserverprogrammering/exercises/quiz/

admin.php
dbconnection.php
glömtLösen.php
index.php
quiz.php
quiz_css.css
rättning.php
skapaTabell.php
verify.php

rättning.php

86 lines UTF-8 Windows (CRLF)
<?php 
session_start
();
?>
<!doctype html>
<html>
<head>
 <meta charset="utf-8">
 <title>QUIZ</title>
 <link rel="stylesheet" type="text/css" href="quiz_css.css">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
 <?php
 $quizID 
$_POST["quizID"];
 
$antalFrågor $_POST["antalFrågor"];
 
$antalRätt 0;
 
$användarnamn $_SESSION["inloggad"];
 include (
'dbconnection.php');
 for (
$i=1$i <= $antalFrågor$i++) { 
  
$sql "SELECT * FROM QUIZSvar WHERE id=?";
  
$stmt $dbconn->prepare($sql);
  
$data = array($_POST[$i]);  
  
$stmt->execute($data);
  
$res $stmt->fetch(PDO::FETCH_ASSOC);
  if (
$res["rätt"] == 1) {
   
$antalRätt++;
  }
 }
 echo 
"Bra jobbat $användarnamn du fick $antalRätt av $antalFrågor rätt!";
 try {
  
$sql "SELECT * FROM QUIZAnvändare WHERE användarnamn=?";
  
$stmt $dbconn->prepare($sql);
  
$data = array($användarnamn);  
  
$stmt->execute($data);
  
$res $stmt->fetch(PDO::FETCH_ASSOC);
  
$användarID $res["id"];

  
$sql "INSERT INTO QUIZResultat (användarID, quizID, antalRätt, antalFrågor, tid) 
  VALUES (?, ?, ?, ?, now())"
;
  
$stmt $dbconn->prepare($sql);
  
$data = array($användarID$quizID$antalRätt$antalFrågor);
  
$stmt->execute($data);

  echo 
"<h2>Topplista</h2>";
   
//The SQL SELECT statement 
  
$sql "SELECT a.användarnamn AS anv, q.namn AS nam, r.antalRätt, r.tid, r.antalFrågor
  FROM QUIZResultat AS r
  INNER JOIN QUIZAnvändare AS a ON r.användarID=a.id
  INNER JOIN QUIZ AS q ON r.quizID=q.id
  ORDER BY nam ASC, antalRätt DESC" 
;
  
$stmt $dbconn->prepare($sql);

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


  
$output "<table>
  <th>Användare</th>
  <th>Quiz</th>
  <th>Antal Rätt/</th>
  <th>Antal Frågor</th>
  <th>Andel rätt</th>
  <th>Tid</th>"
;
  
$minne "";
  while (
$res $stmt->fetch(PDO::FETCH_ASSOC)) {
   if (
$minne != $res['nam']) {
    
$output.= "<tr><td colspan='6'><hr>".$res['nam']."<hr></td></tr>";
    
$minne $res['nam'];
   }
   
$output .= "<tr>".
   
"<td>".htmlentities($res['anv'])."</td>".
   
"<td>".htmlentities($res['nam'])."</td>".
   
"<td>".htmlentities($res['antalRätt'])."</td>".
   
"<td>".htmlentities($res['antalFrågor'])."</td>".
   
"<td>".($res['antalRätt']/$res['antalFrågor']*100)."&#37;</td>".
   
"<td>".htmlentities($res['tid'])."</td>".
   
"</tr>";
  }
  
$output .= "</table>";
  echo 
"$output";

 } catch (
Exception $e) {
  echo 
$sql "<br>" $e->getMessage();
 }
 echo 
"<form action='quiz.php'><input type='submit' value='Spela igen'></form></body></html>"
 
?>