is115-php/modul7/login.php

88 lines
1.9 KiB
PHP

<?php
include '../common.php';
// Bruker database-tilkobling fra forrige modul
include '../modul6/forberedelser.php';
include "Auth.inc.php";
$msg = array();
$err = array();
// se om bruker-tabellen finnes
try {
$db = getPdoConn();
$stmt = $db->prepare("SELECT count(0) FROM Bruker;");
$stmt->execute();
$result = $stmt->fetchAll();
}
catch (PDOException $e){
if($e->getCode() == "42S02"){
echo "Tabellen finnes ikke. <form method='post'><input type='submit' name='lagBrukerTabell' value='Lage den?'></form>";
}
else {
echo "SQL-feil: <br>\n".var_dump($e);
}
}
if(Auth::checkLogin()){
$msg[] = "Du er allerede logget inn.";
}
if(!empty($_POST)){
try {
Auth::doLogin($_POST['brukernavn'], $_POST['passord']);
header("Location: Hjem.php");
}
catch (LoginException $e){
$err[] = $e->getMessage();
}
}
?><!DOCTYPE html>
<html lang="no">
<head>
<title><?=title();?></title>
<link rel="stylesheet" href="../index.css">
</head>
<body>
<div class="container">
<h1>Modul 7 - Autentisering</h1>
<h4><?=getNavigation();?></h4>
<h2>Login</h2>
<?php
// Her skriver vi ut feilmeldinger eller suksess-meldinger som er generert. Dette for å få et finere brukergrensesnitt.
if(!empty($err)){
foreach ($err as $e){
echo "<p class='error'>".$e."</p>\n";
}
}
if(!empty($msg)){
foreach ($msg as $m){
echo "<p class='suksess'>".$m."</p>\n";
}
}
?>
<form method="post">
<p>
<label for="brukernavn">Brukernavn:</label>
<input type="text" id="brukernavn" name="brukernavn">
</p>
<p>
<label for="passord">Passord:</label>
<input type="password" id="passord" name="passord">
</p>
<p>
<input type="submit" value="Logg inn...">
</p>
</form>
</div>
</body>
</html>