Add uebung8

This commit is contained in:
2019-06-30 13:38:50 +02:00
parent 73abfccad7
commit d18c038d38
20 changed files with 2711 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
<?php require_once(__DIR__ . "/session_lib.php");
startTodoSession();
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Meine Todo-Liste</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<?php
$tasks = getTasks();
$numberOfTasks = sizeof($tasks);
echo <<<END
<div class="page-header">
<h1>Todo-Liste <small>($numberOfTasks Aufgaben)</small></h1>
</div>
END;
if ($numberOfTasks > 0) {
echo "<ul>";
foreach ($tasks as $task) {
echo "<li>$task <form action='tasks-delete.php' method='post' class='inline-form'><button name='task' value='$task'>löschen</button></form> </li>";
}
echo "</ul>";
} else {
echo "Nichts zu tun";
}
?>
<hr>
<form action="tasks-store.php" method="post">
<label for="task">Todo:</label>
<input name="task" type="text" id="task">
<button type="submit">Hinzufügen</button>
</form>
<p style="text-align: center"><a href="reset.php">Liste zurücksetzen</a></p>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<?php
require_once(__DIR__ . "/session_lib.php");
// Session starten
startTodoSession();
// Tasks zurücksetzen
resetTasks();
// Weiterleitung auf die Startseite
header("Location: index.php");

View File

@@ -0,0 +1,41 @@
<?php
// startet die Session und initialisiert das tasks-Array
function startTodoSession()
{
// Setze einen eindeutigen Session-Name: zdvlogin mit suffix todo
// get_current_user() liefert den Benutzernamen
session_name(get_current_user() . "todo");
session_start();
if (!isset($_SESSION['tasks'])) {
resetTasks();
}
}
// Fügt einen Task zum Array hinzu
function addTask($task)
{
array_push($_SESSION['tasks'], $task);
}
// Entfernt einen Task aus dem Array hinzu
function removeTask($task)
{
$_SESSION['tasks'] = array_diff($_SESSION['tasks'], [$task]);
}
// Liefert alle Tasks
function getTasks()
{
return $_SESSION['tasks'];
}
// Löscht alle Tasks
function resetTasks()
{
$_SESSION['tasks'] = [];
}

View File

@@ -0,0 +1,23 @@
body {
font-family: sans-serif;
text-align: center;
background-color: #eeeeee;
}
.inline-form {
display: inline;
}
.inline-form button {
border: 0;
background-color: #c6c8ca;
border-radius: 1em;
font-size: x-small;
padding: 0.3em;
}
.inline-form button:hover {
background-color: red;
color: white;
}

View File

@@ -0,0 +1,19 @@
<?php
require_once(__DIR__ . "/session_lib.php");
// Prüfe, ob der POST-Parameter name existiert
if (isset($_POST['task'])) {
// POST-Parameter abrufen
$task = $_POST['task'];
// Session starten
startTodoSession();
// Task entfernen
removeTask($task);
}
// In jedem Fall erfolgt eine Weiterleitung auf die Startseite
header("Location: index.php");

View File

@@ -0,0 +1,19 @@
<?php
require_once(__DIR__ . "/session_lib.php");
// Prüfe, ob der POST-Parameter name existiert
if (isset($_POST['task'])) {
// POST-Parameter abrufen
$task = $_POST['task'];
// Session starten
startTodoSession();
// Task hinzufügen
addTask($task);
}
// In jedem Fall erfolgt eine Weiterleitung auf die Startseite
header("Location: index.php");