1
0
Fork 0

Kommentare hinzugefügt

This commit is contained in:
Findus23 2014-01-10 17:02:12 +01:00
parent 2e76bdba04
commit 9fb2347589
14 changed files with 56 additions and 55 deletions

View file

@ -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
?>

View file

@ -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>";

View file

@ -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
?>

View file

@ -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) {

View file

@ -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

View file

@ -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"];

View file

@ -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"])) {

View file

@ -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('');
}
}

View file

@ -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;

View file

@ -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 ...

View file

@ -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);

View file

@ -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 eingen
}
?>
</select><a href="./orte.php" target="Orte" >Orte anzeigen und bearbeiten</a></td>

View file

@ -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";
}
?>

View file

@ -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'])))