Webbserverprogrammering 1

Show sourcecode

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

webbsrvprg/exercises/databaser/ovn_2/

admin.php
forminclude.php
index.php
welcome.php

admin.php

80 lines UTF-8 Windows (CRLF)
<!doctype html>
<html>

<head>
    <meta charset="utf-8">
    <title>Admin</title>
    <style>
        table,
        th,
        td {
            border: 1px solid black;
        }
    </style>
</head>

<body>
    <h1>ADMINSIDA WOWWOWWOW</h1>
    <?php
    session_start
();

    
// KOLLA LÖSEN
    
try {
        
/** @var PDO $dbconn */ // För att skitprogrammet ska fatta att $dbconn är fucking definerat 
        
include("../dbconnection.php");
        
$sql "SELECT * from users WHERE username=? and pass=?";
        
$info = array($_SESSION["username"], $_SESSION["pass"]);

        
$stmt $dbconn->prepare($sql);
        
$stmt->execute($info);
        
$user $stmt->fetch(PDO::FETCH_ASSOC);

        if (!
$user || !$user["role"] == "admin") {
            
// Skicka tillbaka om ej inloggad eller ej admin
            
header("Location: index.php");
            exit; 
// Fortsätter inte efter detta
        
}
        
// Annars kör på

        
if (isset($_GET["action"])) {
            
// Man ska göra något med en användare
            
if ($_GET["action"] == "add") {
                
$sql "INSERT INTO users (f_name, s_name, username, pass, role) VALUES(?,?,?,?,?)";
                
$values = array($_GET["f_name"], $_GET["s_name"], $_GET["username"], $_GET["pass"], $_GET["role"]);
                
$stmt $dbconn->prepare($sql);
                
$stmt->execute($values);
            } else if (isset(
$_GET["deleteUser"])) {
                
$sql "DELETE FROM users WHERE id = ?";
                
$stmt $dbconn->prepare($sql);
                
$stmt->execute(array($_GET["execId"]));
            } else {
                
// Annars bara ändrar man en användare
                
$sql "UPDATE users SET f_name = ?, s_name = ?, username = ?, pass = ?, role= ?, lastchange = ? WHERE id = ?";
                
$values = array($_GET["f_name"], $_GET["s_name"], $_GET["username"], $_GET["pass"], $_GET["role"], time() ,$_GET["execId"]);
                
$stmt $dbconn->prepare($sql);
                
$stmt->execute($values);
            }
        }

        
$sql "SELECT * FROM users";
        
$info $dbconn->query($sql);
        
// Jobbigt att läsa men printar ut toppraden för en tabell
        
echo ("<table><tr><th>ID</th><th>FÖRNAMN</th><th>EFTERNAMN</th><th>ANVÄNDARNAMN</th><th>LÖSENORD</th><th>ROLL</th><th>SENAST ÄNDRAD</th></tr>");
        while (
$rad $info->fetch(PDO::FETCH_ASSOC)) {
            
// Printar ut en rad för den användaren
            
echo ("<tr><td> <a href=?id=" $rad["id"] . ">" $rad["id"] . "</td><td>" $rad["f_name"] . "</td><td>" $rad["s_name"] . "</td><td>" $rad["username"] . "</td><td>" $rad["pass"] . "</td><td>" $rad["role"] . "</td><td>" $rad["lastchange"] . "</td></tr>");
        }
        echo (
"<tr><td> <a href=?id=new>ny</td></tr>");
        echo (
"</table>"); // Avslutar tabellen

        
if (isset($_GET["id"])) {
            
$userId $_GET["id"];
            include(
"forminclude.php"); // Formuläret för att ändra eller ta bort användare
        
}
    } catch (
PDOException $e) {
        echo (
$e->getMessage());
    }
    
?>
</body>

</html>