Kommentare hinzugefügt
This commit is contained in:
parent
2e76bdba04
commit
9fb2347589
14 changed files with 56 additions and 55 deletions
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
session_start();
|
||||
session_destroy();
|
||||
header("Location: http://localhost/mysql/veranstaltung/veranstaltungen.php");
|
||||
session_start(); //Session starten ...
|
||||
session_destroy(); // ... um sie danach zu loeschen ...
|
||||
header("Location: http://localhost/mysql/veranstaltung/veranstaltungen.php"); // ... und gleich zur Hauptseite weiterleiten
|
||||
|
||||
?>
|
|
@ -52,7 +52,7 @@ $ergebnis->close();
|
|||
|
||||
<?php
|
||||
echo "<table border='1'>\n";
|
||||
if (!isset($_GET["u_id"]) && !isset($_GET["v_id"]) || isset($_GET["v_id"]) && !is_numeric($_GET["v_id"]) || isset($_GET["u_id"]) && !is_numeric($_GET["u_id"])) {
|
||||
if (!isset($_GET["u_id"]) && !isset($_GET["v_id"]) || isset($_GET["v_id"]) && !is_numeric($_GET["v_id"]) || isset($_GET["u_id"]) && !is_numeric($_GET["u_id"])) { // wenn die Auswahl nicht eingeschränkt wurde
|
||||
$ergebnis = $mysqli->query("SELECT * FROM teilnahmen,benutzer,veranstaltungen WHERE veranstaltungen.veranstaltungs_id = teilnahmen.veranstaltungs_id AND user_id=teilnehmer_id ORDER BY veranstaltungen.veranstaltungs_id "); //SQL Befehl ausführen
|
||||
echo "<tr><th>Veranstaltung</th><th>Name (Benutzername)</th><th>E-Mail</th></tr>"; //Zeile mit Überschriften
|
||||
while ($zeile = $ergebnis->fetch_array()) {
|
||||
|
@ -61,14 +61,14 @@ if (!isset($_GET["u_id"]) && !isset($_GET["v_id"]) || isset($_GET["v_id"]) && !i
|
|||
. "<td><a href='mailto:" . htmlspecialchars($zeile["email"]) . "'>" . htmlspecialchars($zeile["email"]) . "</a>" . "</td>"
|
||||
."</tr>\n" ;
|
||||
}
|
||||
} elseif(isset($_GET["u_id"]) && is_numeric ($_GET["u_id"])) {
|
||||
} elseif(isset($_GET["u_id"]) && is_numeric ($_GET["u_id"])) { // wenn der Benutzer eingeschränkt wurde
|
||||
$u_id = $_GET["u_id"];
|
||||
$ergebnis = $mysqli->query("SELECT * FROM teilnahmen,benutzer,veranstaltungen WHERE veranstaltungen.veranstaltungs_id = teilnahmen.veranstaltungs_id AND user_id=teilnehmer_id AND user_id =$u_id ORDER BY veranstaltungen.veranstaltungs_id "); //SQL Befehl ausführen
|
||||
echo "<tr><th>Veranstaltung</th></tr>"; //Zeile mit Überschriften
|
||||
while ($zeile = $ergebnis->fetch_array()) {
|
||||
echo "<tr><td>" . htmlspecialchars($zeile["name"]) . "</td>" . "</tr>\n" ;
|
||||
}
|
||||
} elseif(isset($_GET["v_id"]) && is_numeric ($_GET["v_id"])) {
|
||||
} elseif(isset($_GET["v_id"]) && is_numeric ($_GET["v_id"])) { // wenn die Veranstaltung eingeschränkt wurde
|
||||
$v_id = $_GET["v_id"];
|
||||
$ergebnis = $mysqli->query("SELECT * FROM teilnahmen,benutzer,veranstaltungen WHERE veranstaltungen.veranstaltungs_id = teilnahmen.veranstaltungs_id AND user_id=teilnehmer_id AND veranstaltungen.veranstaltungs_id =$v_id ORDER BY user_id "); //SQL Befehl ausführen
|
||||
echo "<tr><th>Name (Benutzername)</th><th>E-Mail</th></tr>"; //Zeile mit Überschriften
|
||||
|
@ -77,6 +77,8 @@ if (!isset($_GET["u_id"]) && !isset($_GET["v_id"]) || isset($_GET["v_id"]) && !i
|
|||
. "<td><a href='mailto:" . htmlspecialchars($zeile["email"]) . "'>" . htmlspecialchars($zeile["email"]) . "</a>" . "</td>"
|
||||
."</tr>\n" ;
|
||||
}
|
||||
} else {
|
||||
echo "<strong>Bitte nur eine Filteroption auswählen<strong>"; // kann theoretisch nicht vorkommen
|
||||
}
|
||||
|
||||
echo "</table>";
|
||||
|
|
18
login.php
18
login.php
|
@ -1,18 +1,18 @@
|
|||
<?php
|
||||
session_start();
|
||||
if (isset($_POST["benutzername"])) {
|
||||
if (isset($_POST["benutzername"]) && isset($_POST["passwort"])) { // wenn Benutzername eingegeben wurde
|
||||
require_once "verbindungsaufbau.php"; //mit Server verbinden
|
||||
$user= $_POST["benutzername"];
|
||||
$passwort= $_POST["passwort"];
|
||||
$salt = "*|!JeFF28S,@Z3Sm5\1?";
|
||||
$salted_password = $salt . $passwort;
|
||||
$salt = "*|!JeFF28S,@Z3Sm5\1?"; // selber geheimer Zufallszeichenwert wie in registrieren.php
|
||||
$salted_password = $salt . $passwort; // wie in registrieren.php
|
||||
$password_hash = hash('sha256', $salted_password);
|
||||
if($stmt = $mysqli->prepare("SELECT passwort,user_id,vorname,nachname FROM benutzer WHERE username=?")) {
|
||||
$stmt->bind_param("s", $user);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($password_db, $user_id, $vorname, $nachname);
|
||||
$stmt->fetch();
|
||||
if($password_db == $password_hash) {
|
||||
if($password_db == $password_hash) { // wenn die Anmeldung erfolgreich ist, werden Informationen über den aktuellen Benutzer in die Session geschrieben
|
||||
$_SESSION['user'] = $user;
|
||||
$_SESSION['user_id'] = $user_id;
|
||||
$_SESSION['vorname'] = $vorname;
|
||||
|
@ -26,7 +26,7 @@ if (isset($_POST["benutzername"])) {
|
|||
}
|
||||
$mysqli->close();
|
||||
}
|
||||
if (!isset($_SESSION['user'])) {
|
||||
if (!isset($_SESSION['user'])) { // wenn noch nicht angemeldet
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
|
@ -54,7 +54,7 @@ if (!isset($_SESSION['user'])) {
|
|||
</tr>
|
||||
<tr>
|
||||
<td>Passwort:</td>
|
||||
<td><input type="password" name=passwort required /></td>
|
||||
<td><input type="password" name="passwort" required /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" value="anmelden" />
|
||||
|
@ -63,11 +63,11 @@ if (!isset($_SESSION['user'])) {
|
|||
|
||||
|
||||
<?php
|
||||
} else {
|
||||
} else { //wenn man erfolgreich angemeldet wurde
|
||||
echo "Hallo " . $_SESSION['user'] . " - <a href='./login.php?abmelden=1'>Abmelden</a>";
|
||||
echo "<script>window.opener.parent.location.reload();window.close();</script>";
|
||||
echo "<script>window.opener.parent.location.reload();window.close();</script>"; // Das Fenster wird geschlossen und das Ursprungsfenster wird neu geladen
|
||||
}
|
||||
if (isset($_GET["abmelden"])) {session_destroy();}
|
||||
if (isset($_GET["abmelden"])) {session_destroy();} // um sich abzumelden an die url ?id=abmelden anhängen
|
||||
?>
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<link rel="stylesheet" href="style.css" />
|
||||
<script type="text/javascript">
|
||||
function Fenster_klein (Adresse) {
|
||||
MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=200,left=100,top=200");
|
||||
MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=200,left=100,top=200"); // in einem neuen Fenster öffnen
|
||||
MeinFenster.focus();
|
||||
}
|
||||
function Fenster_breit (Adresse) {
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
<body>
|
||||
<?php
|
||||
// wie ort_aendern.php
|
||||
require_once "verbindungsaufbau.php";
|
||||
if (empty($_POST["name"])) {
|
||||
if (!isset($_GET["id"]) || !is_numeric($_GET["id"])) { // wenn die id-manipuliert wurde abbrechen
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
<input type="submit" value="Ort hinzufügen" style="width: auto;">
|
||||
</form>
|
||||
<?php
|
||||
// wie veranstaltung_erstellen.php
|
||||
if (isset($_POST["name"])) { //Wenn das Formular ausgefüllt wurde ...
|
||||
require_once "verbindungsaufbau.php"; //mit Server verbinden
|
||||
$name = $_POST["name"];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
require_once "verbindungsaufbau.php";
|
||||
require_once "verbindungsaufbau.php"; // wie veranstaltung_loeschen.php
|
||||
|
||||
|
||||
if (isset($_GET["id"]) && is_numeric($_GET["id"])) {
|
||||
|
|
|
@ -25,7 +25,11 @@ if (isset($_POST["benutzername"])) { //Wenn das Formular ausgefüllt wurde ..
|
|||
$passwort_2 = $_POST["passwort_2"];
|
||||
$email = $_POST["email"];
|
||||
|
||||
if ($stmt = $mysqli->prepare("SELECT COUNT(*) FROM benutzer WHERE username=?")) {
|
||||
if ($passwort_1 != $passwort_2) { // überprüfen ob beide Passwörter übereinstimmen
|
||||
echo "<strong>Das Passwort wurde falsch eingegeben</strong>";
|
||||
exit();
|
||||
}
|
||||
if ($stmt = $mysqli->prepare("SELECT COUNT(*) FROM benutzer WHERE username=?")) { // überprüfen ob der Benutzername schon vergeben wurde.
|
||||
$stmt->bind_param("s", $benutzername);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($treffer);
|
||||
|
@ -36,20 +40,16 @@ if (isset($_POST["benutzername"])) { //Wenn das Formular ausgefüllt wurde ..
|
|||
exit();
|
||||
}
|
||||
}
|
||||
if ($passwort_1 != $passwort_2) {
|
||||
echo "<strong>Das Passwort wurde falsch eingegeben</strong>";
|
||||
exit();
|
||||
}
|
||||
$salt = "*|!JeFF28S,@Z3Sm5\1?";
|
||||
$salted_password = $salt . $passwort_1;
|
||||
$password_hash = hash('sha256', $salted_password);
|
||||
$salt = "*|!JeFF28S,@Z3Sm5\1?"; //zufälligen geheimen Wert verwenden ...
|
||||
$salted_password = $salt . $passwort_1; // und diesen an das Passwort anhängen ...
|
||||
$password_hash = hash('sha256', $salted_password); // ... und zuletzt das zusammengehängte Passwort mittels sha256 hashen
|
||||
if ($stmt = $mysqli->prepare("INSERT INTO benutzer (username, passwort, vorname, nachname, email) VALUES (?, ?, ?, ?, ?)")) { // Der SQL-Befehl wird vorbereitet ...
|
||||
$stmt->bind_param("sssss", $benutzername, $password_hash, $vorname, $nachname, $email); // ... eingesetzt ...
|
||||
$stmt->execute(); // ... und ausgeführt
|
||||
$stmt->close();
|
||||
$mysqli->close();
|
||||
echo "<p>Benutzer erfolgreich angelegt</p>";
|
||||
echo "<p><input type='button' value='Fenster schließen' onclick='window.opener.parent.location.reload();window.close()'></p>";
|
||||
echo "<p><input type='button' value='Fenster schließen' onclick='window.opener.parent.location.reload();window.close()'></p>"; // Beim Klick auf den Link wird das Fenster geschlossen und das Hauptfenster neu geladen
|
||||
|
||||
}
|
||||
} else {
|
||||
|
@ -82,11 +82,10 @@ if (isset($_POST["benutzername"])) { //Wenn das Formular ausgefüllt wurde ..
|
|||
<td><input type="password" id="passwordconf" name="passwort_2" required oninput="check(this)" /></td>
|
||||
</tr>
|
||||
<script language='javascript' type='text/javascript'>
|
||||
function check(input) {
|
||||
function check(input) { //Beim Abschicken wird überprüft ob die Passwörter übereinstimmen -- wenn nicht wird eine Meldung ausgegeben (funktioniert nur bei modernen Browsern) -> sonst per PHP
|
||||
if (input.value != document.getElementById('password').value) {
|
||||
input.setCustomValidity('Die beiden Passwörter müssen übereinstimmen');
|
||||
} else {
|
||||
// input is valid -- reset the error message
|
||||
input.setCustomValidity('');
|
||||
}
|
||||
}
|
||||
|
|
16
style.css
16
style.css
|
@ -2,21 +2,21 @@ tr:nth-child(2n) td {
|
|||
background: #CEF6D8
|
||||
}
|
||||
tr:nth-child(2n-1) td {
|
||||
background: #FAFA1F
|
||||
background: #FAFA1F /* 2 Farben abwechselnd */
|
||||
}
|
||||
input, textarea {
|
||||
width: 300px;
|
||||
width: 300px; /* alle Eingabefelder gleich breit machen */
|
||||
}
|
||||
|
||||
table {
|
||||
margin: auto;
|
||||
border-collapse: collapse;
|
||||
margin: auto; /* alle Tabellen zentrieren */
|
||||
border-collapse: collapse; /* Tabellenzellen direkt aneinander (siehe http://www.css4you.de/border-collapse.html ) */
|
||||
}
|
||||
th {
|
||||
font-size: 120%;
|
||||
font-size: 120%; /* Tabellenüberschriften größer und fett anzeigen */
|
||||
font-weight: bold;
|
||||
}
|
||||
a{
|
||||
a{ /* Links designen */
|
||||
font: bold 11px Arial;
|
||||
text-decoration: none;
|
||||
background-color: #EEEEEE;
|
||||
|
@ -33,9 +33,9 @@ a{
|
|||
box-shadow: 2px 2px 5px 2px #ccc;
|
||||
}
|
||||
html {
|
||||
text-align: center;
|
||||
text-align: center; /* alles zentrieren */
|
||||
}
|
||||
nav a:visited, nav a:link {
|
||||
nav a:visited, nav a:link { /* Menü "normal" formatieren */
|
||||
box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
-webkit-border-radius: 0px;
|
||||
|
|
|
@ -23,7 +23,7 @@ function Fenster_breit (Adresse) {
|
|||
<h1>Teilnahme-Bestätigung</h1>
|
||||
<?php
|
||||
session_start();
|
||||
if (isset($_SESSION["user"]) && isset($_GET["id"])) {
|
||||
if (isset($_SESSION["user"]) && isset($_GET["id"]) && is_numeric($_GET["id"])) {
|
||||
require_once "verbindungsaufbau.php"; //mit Server verbinden
|
||||
if ($stmt = $mysqli->prepare("INSERT INTO teilnahmen (teilnehmer_id, veranstaltungs_id) VALUES (?, ?)")) { // Der SQL-Befehl wird vorbereitet ...
|
||||
$stmt->bind_param("ii", $_SESSION["user_id"], $_GET["id"]); // ... eingesetzt ...
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
<body>
|
||||
<?php
|
||||
require_once "verbindungsaufbau.php";
|
||||
if (empty($_POST["name"])) {
|
||||
if (empty($_POST["name"])) { // Formular nur anzeigen, wenn noch nicht abgesendet wurde
|
||||
if (!isset($_GET["id"]) || !is_numeric($_GET["id"])) { // wenn die id-manipuliert wurde abbrechen
|
||||
header("Location: ".URL."/veranstaltungen.php");
|
||||
|
||||
}
|
||||
$id = $_GET["id"];
|
||||
if ($stmt = $mysqli->prepare("SELECT name, beschreibung, zeit, ort_id FROM veranstaltungen WHERE veranstaltungs_id=?")) {
|
||||
if ($stmt = $mysqli->prepare("SELECT name, beschreibung, zeit, ort_id FROM veranstaltungen WHERE veranstaltungs_id=?")) { // Datenbank auslesen um alte Daten einzufügen
|
||||
$stmt->bind_param("i", $id);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($name, $beschreibung, $datetime, $ort); //Daten auslesen und in Variablen speichern
|
||||
|
@ -50,10 +50,10 @@ if (empty($_POST["name"])) {
|
|||
<tr>
|
||||
<td>Veranstaltungsort:</td>
|
||||
<td><select name="ort" size="1"><?php
|
||||
$ergebnis = $mysqli->query("SELECT * FROM orte");
|
||||
$ergebnis = $mysqli->query("SELECT * FROM orte"); //Orte aus Datenbank für Dropdownliste
|
||||
while ($zeile = $ergebnis->fetch_array()) {
|
||||
if ($zeile['ort_id'] == $ort) {
|
||||
echo "<option selected value='" . htmlspecialchars($zeile['ort_id']) . "'>" . htmlspecialchars($zeile['ort_name']) . "</option>\n";
|
||||
echo "<option selected value='" . htmlspecialchars($zeile['ort_id']) . "'>" . htmlspecialchars($zeile['ort_name']) . "</option>\n"; // bei dem Ort der ausgewählt wurde "selected" hinzufügen
|
||||
} else {
|
||||
echo "<option value='" . htmlspecialchars($zeile['ort_id']) . "'>" . htmlspecialchars($zeile['ort_name']) . "</option>\n";
|
||||
}
|
||||
|
@ -68,13 +68,13 @@ $mysqli->close();
|
|||
|
||||
<?php
|
||||
|
||||
} else {
|
||||
} else { // alles abschicken (wie in veranstaltung_erstellen.php
|
||||
$name = $_POST["name"];
|
||||
$beschreibung = $_POST["beschreibung"];
|
||||
$tag = $_POST["tag"];
|
||||
$zeit = $_POST["zeit"];
|
||||
$ort = $_POST["ort"];
|
||||
$id = $_POST["id"];
|
||||
$id = $_POST["id"]; //zusätzlich noch id mitschicken (da man sie auch nach abschicken benötigt
|
||||
$datetime = $tag . " " . $zeit . ":00";
|
||||
if ($stmt = $mysqli->prepare("UPDATE veranstaltungen set name=?, beschreibung=?, zeit=?, ort_id=? WHERE veranstaltungs_id=?")) {
|
||||
$stmt->bind_param("sssii", $name, $beschreibung, $datetime, $ort, $id);
|
||||
|
|
|
@ -40,7 +40,7 @@ require_once "verbindungsaufbau.php";
|
|||
|
||||
$ergebnis = $mysqli->query("SELECT * FROM orte"); //Ort-Tabelle auslesen
|
||||
while ($zeile = $ergebnis->fetch_array()) {
|
||||
echo "<option value='" . htmlspecialchars($zeile['ort_id']) . "'>" . htmlspecialchars($zeile['ort_name']) . "</option>\n"; //Optionen in Dropdown-Liste eingeben
|
||||
echo "<option value='" . htmlspecialchars($zeile['ort_id']) . "'>" . htmlspecialchars($zeile['ort_name']) . "</option>\n"; //Optionen in Dropdown-Liste einfügen
|
||||
}
|
||||
?>
|
||||
</select><a href="./orte.php" target="Orte" >Orte anzeigen und bearbeiten</a></td>
|
||||
|
@ -52,12 +52,12 @@ while ($zeile = $ergebnis->fetch_array()) {
|
|||
<?php
|
||||
if (isset($_POST["name"]) && isset($_POST["beschreibung"]) && isset($_POST["tag"]) && isset($_POST["zeit"]) && isset($_POST["ort"])) { //Wenn das Formular ausgefüllt wurde ...
|
||||
$name = $_POST["name"];
|
||||
$beschreibung = $_POST["beschreibung"];
|
||||
$beschreibung = $_POST["beschreibung"];
|
||||
$tag = $_POST["tag"];
|
||||
$zeit = $_POST["zeit"];
|
||||
$ort = $_POST["ort"];
|
||||
$datetime = $tag . " " . $zeit . ":00"; // ... werden Tag und Uhrzeit zusammengefügt
|
||||
if ($stmt = $mysqli->prepare("INSERT INTO veranstaltungen (name, beschreibung, zeit, ort_id) VALUES (?, ?, ?, ?)")) { // Der SQL-Befehl wirdvorbereitet ...
|
||||
if ($stmt = $mysqli->prepare("INSERT INTO veranstaltungen (name, beschreibung, zeit, ort_id) VALUES (?, ?, ?, ?)")) { // Der SQL-Befehl wird vorbereitet ...
|
||||
$stmt->bind_param("sssi", $name, $beschreibung, $datetime, $ort); // ... eingesetzt ...
|
||||
$stmt->execute(); // ... und ausgeführt
|
||||
$stmt->close();
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
<?php
|
||||
require_once "verbindungsaufbau.php";
|
||||
require_once "verbindungsaufbau.php"; //mit SQL-Server verbinden
|
||||
|
||||
|
||||
if (isset($_GET["id"]) && is_numeric($_GET["id"])) {
|
||||
if (isset($_GET["id"]) && is_numeric($_GET["id"])) { // Wenn die id gültig ist ...
|
||||
$id = $_GET["id"];
|
||||
if ($stmt = $mysqli->prepare("DELETE FROM veranstaltungen WHERE veranstaltungs_id=?")) {
|
||||
if ($stmt = $mysqli->prepare("DELETE FROM veranstaltungen WHERE veranstaltungs_id=?")) { // ... diese Veranstaltung löschen
|
||||
$stmt->bind_param("i", $id);
|
||||
$stmt->execute();
|
||||
$stmt->close();
|
||||
$mysqli->close();
|
||||
header("Location: ".URL."/veranstaltungen.php");
|
||||
header("Location: ".URL."/veranstaltungen.php"); // zur Hauptseite weiterleiten
|
||||
} else {
|
||||
echo "Fehler";
|
||||
echo "SQL-Fehler";
|
||||
}
|
||||
} else {
|
||||
echo "unerlaubter Parameter";
|
||||
echo "unerlaubter id-Parameter";
|
||||
}
|
||||
?>
|
|
@ -10,14 +10,12 @@
|
|||
|
||||
<body>
|
||||
<?php
|
||||
// require_once "angemeldet.php";
|
||||
require_once "verbindungsaufbau.php"; //mit Server verbinden
|
||||
|
||||
|
||||
$ergebnis = $mysqli->query("SELECT * FROM orte, veranstaltungen WHERE orte.ort_id = veranstaltungen.ort_id"); //SQL Befehl ausführen
|
||||
echo "<table border='1'>\n";
|
||||
echo "<tr><th>Veranstaltungsname</th><th>Beschreibung</th><th>Zeit</th><th>Ort</th><th>Adresse</th><th>Teinehmen</th><th>Ändern</th><th>Löschen</th>"; //Zeile mit Überschriften
|
||||
while ($zeile = $ergebnis->fetch_array()) {
|
||||
while ($zeile = $ergebnis->fetch_array()) { // für jeden Wert in der Datenbank eine Tabellenzeile
|
||||
echo "<tr><td>" . htmlspecialchars($zeile["name"]) . "</td>"
|
||||
. "<td>" . htmlspecialchars($zeile['beschreibung']) . "</td>"
|
||||
. "<td>" . date( 'd.m.Y H:i', strtotime(htmlspecialchars($zeile['zeit'])))
|
||||
|
|
Reference in a new issue