Källkod
Följande filer och mappar finns under mappen webbserverprogrammering.
Mappar visas till vänster och filer till höger. Klicka på en fil eller mapp för att öppna nedan eller visa dess innehåll.
webbserverprogrammering/exercises/mysql/exercise_2/
11 filer
admin.php
back_button.php
create_table.php
dbconnection.php
delete_row.php
index.php
insert_default_values.php
insert_values.php
print_table.php
start.php
update_values.php
back_button.php
create_table.php
dbconnection.php
delete_row.php
index.php
insert_default_values.php
insert_values.php
print_table.php
start.php
update_values.php
update_values.php
188 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
<!DOCTYPE html>
<html lang="sv">
<head>
<title>Ändra användardata</title>
<meta charset="utf-8">
<style type="text/css">
table#data {
border-collapse: collapse;
}
#data td {
padding: 8px;
border: 1px solid #686868;
}
</style>
</head>
<body>
<?php
include('back_button.php');
include ('dbconnection.php');
$message = "";
$getId = "";
$getFirstname = "";
$getLastname = "";
$getUsername = "";
$getPassword = "";
$getRole = "";
if (isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['id']) && isset($_POST["username"]) && isset($_POST["password"]) && isset($_POST["role"])) {
$id = $_POST['id'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$password = $_POST['password'];
$role = $_POST['role'];
try {
# prepare
$sql = "UPDATE users SET firstname=?, lastname=?, username=?, password=?, role=? WHERE id=?";
$stmt = $dbconn->prepare($sql);
# the data we want to insert
$data = [$firstname, $lastname, $username, $password, $role, $id];
# execute width array-parameter
$stmt->execute($data);
$message .= "<br>Användare uppdaterad.<br>";
// clear form from info
$_GET['id'] = null;
}
catch(PDOException $e) {
$message .= $sql . "<br>" . $e->getMessage();
}
} else {
$message .= "<br>Först väljer du en användare. Sen måste du fylla önskade uppgifter!<br><br>";
}
if (isset($_GET['id']) && !empty($_GET['id']) ) {
$id = $_GET['id'];
try {
# prepare
$sql = "SELECT * FROM users WHERE id=?";
$stmt = $dbconn->prepare($sql);
# the data we want to insert
$data = [$id];
# execute width array-parameter
$stmt->execute($data);
$response = $stmt->fetch(PDO::FETCH_ASSOC);
$getId = htmlentities($response['id']);
$getFirstname = htmlentities($response['firstname']);
$getLastname = htmlentities($response['lastname']);
$getUsername = htmlentities($response['username']);
$getPassword = htmlentities($response['password']);
$getRole = htmlentities($response['role']);
$message .= "<br><strong>En användare valdes.</strong><br>";
}
catch(PDOException $e)
{
$message .= $sql . "<br>" . $e->getMessage();
}
} else {
//$message .= "<br>Välj en ny post att uppdatera.<br><br>";
}
echo $message;
?>
<form method="post" action="">
<table>
<tr>
<td>Förnamn:</td>
<td>
<input type="text" name="firstname" size="20" maxlength="100" value="<?= $getFirstname; ?>" required>
</td>
</tr>
<tr>
<td>Efternamn:</td>
<td>
<input type="text" name="lastname" size="20" maxlength="100" value="<?= $getLastname; ?>" required>
</td>
</tr>
<tr>
<td>Användarnamn:</td>
<td>
<input type="text" name="username" size="20" maxlength="100" value="<?= $getUsername; ?>">
</td>
</tr>
<tr>
<td>Lösenord:</td>
<td>
<input type="text" name="password" size="20" maxlength="100" value="<?= $getPassword; ?>">
</td>
</tr>
<tr>
<td>Roll/rättigheter:</td>
<!--<td>
<input type="text" name="role" size="20" maxlength="100" value="<?= $getRole; ?>"> ("admin" eller "regular")
</td>-->
<td>
<select name="role" required>
<option value="admin" <?= ($getRole === "admin") ? "selected" : "" ?>>admin</option>
<option value="regular" <?= ($getRole === "admin") ? "" : "selected" ?>>regular</option>
</select>
</td>
</tr>
<tr>
<td>
<button type="submit">Lägg till</button>
<input type="hidden" name="id" value="<?= $getId; ?>">
</td>
</tr>
</table>
</form>
<?php
// Ouput table with all posts
/*** The SQL SELECT statement ***/
$sql = "SELECT * FROM users";
$stmt = $dbconn->prepare($sql);
// fetch width column names, create a table
$data = [];
$stmt->execute($data); // empty array just for consistency
$output = " <table id='data'>
<caption>
<strong>Användare</strong>
</caption>
<br><br>";
while ($response = $stmt->fetch(PDO::FETCH_ASSOC)) {
$getId = htmlentities($response['id']);
$getFirstname = htmlentities($response['firstname']);
$getLastname = htmlentities($response['lastname']);
$getUsername = htmlentities($response['username']);
$getPassword = htmlentities($response['password']);
$getRole = htmlentities($response['role']);
$output .= "<tr>".
"<td><a href='?id=$getId'>Välj</a></td>".
"<td>$getFirstname</td>".
"<td>$getLastname</td>".
"<td>$getUsername</td>".
"<td>$getPassword</td>".
"<td>$getRole</td>".
"</tr>";
}
$output .= "</table>";
echo $output;
$dbconn = null;
?>
</body>
</html>