Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 84a568d89c | |||
| 1256ec2190 | |||
| 54bfcfea4f | |||
| ae0d150684 | |||
| 810ac71e29 | |||
| 4fac3121f3 | |||
| 0556dec11d | |||
| 88b46ecc06 | |||
| 6b3e5a61e3 | |||
| 1ae601801e | |||
| 3b462c5f0f |
+2
-2
@@ -1,3 +1,3 @@
|
||||
index/
|
||||
ysql7-kap2/
|
||||
ysqld/
|
||||
tipp/
|
||||
tipp_backup/
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# SGD Projekt
|
||||
|
||||
### Version 1
|
||||
### Version 3
|
||||
|
||||
hier wird das SGD Projekt hochgeladen und verwaltet
|
||||
|
||||
+21
-17
@@ -14447,7 +14447,7 @@ CREATE TABLE `pma__export_templates` (
|
||||
`template_data` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `u_user_type_template` (`username`,`export_type`,`template_name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Saved export templates';
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Saved export templates';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
@@ -14456,6 +14456,8 @@ CREATE TABLE `pma__export_templates` (
|
||||
|
||||
LOCK TABLES `pma__export_templates` WRITE;
|
||||
/*!40000 ALTER TABLE `pma__export_templates` DISABLE KEYS */;
|
||||
INSERT INTO `pma__export_templates` VALUES
|
||||
(1,'root','database','meine','{\"quick_or_custom\":\"quick\",\"what\":\"sql\",\"structure_or_data_forced\":\"0\",\"table_select[]\":[\"antworten\",\"fragen\",\"mitglieder\"],\"table_structure[]\":[\"antworten\",\"fragen\",\"mitglieder\"],\"table_data[]\":[\"antworten\",\"fragen\",\"mitglieder\"],\"aliases_new\":\"\",\"output_format\":\"sendit\",\"filename_template\":\"@DATABASE@\",\"remember_template\":\"on\",\"charset\":\"utf-8\",\"compression\":\"none\",\"maxsize\":\"\",\"codegen_structure_or_data\":\"data\",\"codegen_format\":\"0\",\"csv_separator\":\",\",\"csv_enclosed\":\"\\\"\",\"csv_escaped\":\"\\\"\",\"csv_terminated\":\"AUTO\",\"csv_null\":\"NULL\",\"csv_columns\":\"something\",\"csv_structure_or_data\":\"data\",\"excel_null\":\"NULL\",\"excel_columns\":\"something\",\"excel_edition\":\"win\",\"excel_structure_or_data\":\"data\",\"json_structure_or_data\":\"data\",\"json_unicode\":\"something\",\"latex_caption\":\"something\",\"latex_structure_or_data\":\"structure_and_data\",\"latex_structure_caption\":\"Struktur der Tabelle @TABLE@\",\"latex_structure_continued_caption\":\"Struktur der Tabelle @TABLE@ (Fortsetzung)\",\"latex_structure_label\":\"tab:@TABLE@-structure\",\"latex_relation\":\"something\",\"latex_comments\":\"something\",\"latex_mime\":\"something\",\"latex_columns\":\"something\",\"latex_data_caption\":\"Inhalt der Tabelle @TABLE@\",\"latex_data_continued_caption\":\"Inhalt der Tabelle @TABLE@ (Fortsetzung)\",\"latex_data_label\":\"tab:@TABLE@-data\",\"latex_null\":\"\\\\textit{NULL}\",\"mediawiki_structure_or_data\":\"structure_and_data\",\"mediawiki_caption\":\"something\",\"mediawiki_headers\":\"something\",\"htmlword_structure_or_data\":\"structure_and_data\",\"htmlword_null\":\"NULL\",\"ods_null\":\"NULL\",\"ods_structure_or_data\":\"data\",\"odt_structure_or_data\":\"structure_and_data\",\"odt_relation\":\"something\",\"odt_comments\":\"something\",\"odt_mime\":\"something\",\"odt_columns\":\"something\",\"odt_null\":\"NULL\",\"pdf_report_title\":\"\",\"pdf_structure_or_data\":\"structure_and_data\",\"phparray_structure_or_data\":\"data\",\"sql_include_comments\":\"something\",\"sql_header_comment\":\"\",\"sql_use_transaction\":\"something\",\"sql_compatibility\":\"NONE\",\"sql_structure_or_data\":\"structure_and_data\",\"sql_create_table\":\"something\",\"sql_auto_increment\":\"something\",\"sql_create_view\":\"something\",\"sql_procedure_function\":\"something\",\"sql_create_trigger\":\"something\",\"sql_backquotes\":\"something\",\"sql_type\":\"INSERT\",\"sql_insert_syntax\":\"both\",\"sql_max_query_size\":\"50000\",\"sql_hex_for_binary\":\"something\",\"sql_utc_time\":\"something\",\"texytext_structure_or_data\":\"structure_and_data\",\"texytext_null\":\"NULL\",\"xml_structure_or_data\":\"data\",\"xml_export_events\":\"something\",\"xml_export_functions\":\"something\",\"xml_export_procedures\":\"something\",\"xml_export_tables\":\"something\",\"xml_export_triggers\":\"something\",\"xml_export_views\":\"something\",\"xml_export_contents\":\"something\",\"yaml_structure_or_data\":\"data\",\"\":null,\"lock_tables\":null,\"as_separate_files\":null,\"csv_removeCRLF\":null,\"excel_removeCRLF\":null,\"json_pretty_print\":null,\"htmlword_columns\":null,\"ods_columns\":null,\"sql_dates\":null,\"sql_relation\":null,\"sql_mime\":null,\"sql_disable_fk\":null,\"sql_views_as_tables\":null,\"sql_metadata\":null,\"sql_create_database\":null,\"sql_drop_table\":null,\"sql_if_not_exists\":null,\"sql_simple_view_export\":null,\"sql_view_current_user\":null,\"sql_or_replace_view\":null,\"sql_truncate\":null,\"sql_delayed\":null,\"sql_ignore\":null,\"texytext_columns\":null}');
|
||||
/*!40000 ALTER TABLE `pma__export_templates` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
@@ -14584,7 +14586,7 @@ CREATE TABLE `pma__recent` (
|
||||
LOCK TABLES `pma__recent` WRITE;
|
||||
/*!40000 ALTER TABLE `pma__recent` DISABLE KEYS */;
|
||||
INSERT INTO `pma__recent` VALUES
|
||||
('root','[{\"db\":\"test\",\"table\":\"test\"},{\"db\":\"sozialesnetzwerk\",\"table\":\"antworten\"},{\"db\":\"sozialesnetzwerk\",\"table\":\"fragen\"},{\"db\":\"sozialesnetzwerk\",\"table\":\"mitglieder\"},{\"db\":\"bestelldatenbank\",\"table\":\"artikel\"},{\"db\":\"bestelldatenbank\",\"table\":\"positionen\"},{\"db\":\"kverwaltung\",\"table\":\"buchung\"},{\"db\":\"kverwaltung\",\"table\":\"kurs\"},{\"db\":\"kursverwaltung\",\"table\":\"buchung\"},{\"db\":\"nation\",\"table\":\"country_stats\"}]');
|
||||
('root','[{\"db\":\"sozialesnetzwerk\",\"table\":\"mitglieder\"},{\"db\":\"sozialesnetzwerk\",\"table\":\"fragen\"},{\"db\":\"sozialesnetzwerk\",\"table\":\"antworten\"},{\"db\":\"test\",\"table\":\"test\"},{\"db\":\"kursverwaltung\",\"table\":\"teilnehmer\"},{\"db\":\"kursverwaltung\",\"table\":\"kurs\"},{\"db\":\"kursverwaltung\",\"table\":\"buchung\"},{\"db\":\"bestelldatenbank\",\"table\":\"artikel\"},{\"db\":\"bestelldatenbank\",\"table\":\"positionen\"},{\"db\":\"kverwaltung\",\"table\":\"buchung\"}]');
|
||||
/*!40000 ALTER TABLE `pma__recent` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
@@ -14782,7 +14784,7 @@ CREATE TABLE `pma__userconfig` (
|
||||
LOCK TABLES `pma__userconfig` WRITE;
|
||||
/*!40000 ALTER TABLE `pma__userconfig` DISABLE KEYS */;
|
||||
INSERT INTO `pma__userconfig` VALUES
|
||||
('root','2025-12-31 18:40:48','{\"Console\\/Mode\":\"collapse\",\"lang\":\"de\"}');
|
||||
('root','2026-04-27 08:17:01','{\"Console\\/Mode\":\"collapse\",\"lang\":\"de\"}');
|
||||
/*!40000 ALTER TABLE `pma__userconfig` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
@@ -14902,21 +14904,21 @@ DROP TABLE IF EXISTS `mitglieder`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `mitglieder` (
|
||||
`id_mitglied` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(30) NOT NULL,
|
||||
`vorname` varchar(30) NOT NULL,
|
||||
`email` varchar(30) NOT NULL,
|
||||
`fragen` int(11) NOT NULL,
|
||||
`antworten` int(11) NOT NULL,
|
||||
`zusatzinfos` longtext NOT NULL,
|
||||
`rolle` enum('Admin','Mitglied') NOT NULL,
|
||||
`userid` varchar(20) NOT NULL,
|
||||
`pw` varchar(50) NOT NULL,
|
||||
`beitritt` timestamp NOT NULL,
|
||||
`letzterlogin` timestamp NOT NULL,
|
||||
`id_mitglied` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Die ID, die als eindeutiger Schlüssel jedes Datensatz dient.',
|
||||
`name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
|
||||
`vorname` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
|
||||
`email` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
|
||||
`fragen` int(11) DEFAULT NULL COMMENT 'Anzahl der gestellten Fragen',
|
||||
`antworten` int(11) DEFAULT NULL COMMENT 'Anzahl der gegebenen Antworten',
|
||||
`zusatzinfos` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT 'Optionale Informationen',
|
||||
`rolle` enum('Admin','Mitglied') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT 'Informationen, welche Rolle das Mitglied in dem Netzwerk führt. Admin ist 0 und Mitglied 1.',
|
||||
`userid` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
|
||||
`pw` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL COMMENT 'Das Password, das MD5-verschlüsselt gespeichert werden soll.',
|
||||
`beitritt` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'Zeitpunkt der Anmeldung',
|
||||
`letzterlogin` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'Zeitpunkt des letzten logins.',
|
||||
PRIMARY KEY (`id_mitglied`),
|
||||
UNIQUE KEY `userid` (`userid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
@@ -14925,6 +14927,8 @@ CREATE TABLE `mitglieder` (
|
||||
|
||||
LOCK TABLES `mitglieder` WRITE;
|
||||
/*!40000 ALTER TABLE `mitglieder` DISABLE KEYS */;
|
||||
INSERT INTO `mitglieder` VALUES
|
||||
(18,'Muenzer','Christopher','christopher@cemunz.de',NULL,NULL,' ','Mitglied','Cemunz20','820466a89565d6288970a0a2d763c223','2026-04-27 08:48:41','2026-04-27 08:48:41');
|
||||
/*!40000 ALTER TABLE `mitglieder` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
@@ -15048,4 +15052,4 @@ USE `test`;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2026-01-02 11:43:57
|
||||
-- Dump completed on 2026-04-27 9:10:52
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
$dbuser = 'root';
|
||||
$dbpw = 'Feuerwehr1!';
|
||||
$dbhost = 'localhost';
|
||||
$dbname = 'sozialesnetzwerk';
|
||||
|
||||
try {
|
||||
$pdo = new PDO ("mysql:dbname=$dbname;host=$dbhost", $dbuser, $dbpw);
|
||||
} catch (PDOException $e) {
|
||||
die ($e->getMessage());
|
||||
}
|
||||
|
||||
?>
|
||||
+30
-3
@@ -1,4 +1,9 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
setcookie("Image2Food", time(), time() + (60 * 60 * 24 * 120));
|
||||
|
||||
/**
|
||||
* Festlegung der Untergrenze für die PHP-Version
|
||||
* @version 1.0
|
||||
@@ -17,7 +22,17 @@ if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav"> <?php require("nav.php") ?></div>
|
||||
<div id="nav">
|
||||
<?php
|
||||
|
||||
if (isset($_SESSION["login"]) && ($_SESSION["login"] == "true")) {
|
||||
require ("navmitglieder.php");
|
||||
}
|
||||
else {
|
||||
require("nav.php");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h1>Image2Food - Sag mir was ich daraus kochen kann</h1>
|
||||
<h2>Das soziale, multimediale Netzwerk für Kochideen</h2>
|
||||
@@ -27,9 +42,21 @@ if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
* die Einstiegsseite mit der Hauptklasse
|
||||
*/
|
||||
class Index {
|
||||
|
||||
function besucher() {
|
||||
if (isset($_SESSION["login"]) && ($_SESSION["login"] == "true")){
|
||||
echo "<div id='indextext'><h3>Mitgliederbereich</h3><br>Sie sind Angemeldet</div>";
|
||||
} elseif (isset($_SESSION["login"]) && ($_SESSION["login"] == "false")){
|
||||
echo "<div id='indextext'> Sie können sich jetzt zum Mitgliederbereich anmelden. </div>";
|
||||
} elseif (isset($_COOKIE['Image2Food'])){
|
||||
echo "<div id='indextext'> Schön Sie wieder zu sehen. Melden Sie sich an, um in den geschlossenen Mitgliederbereich zu gelangen, wenn Sie sich schon registriert haben. </div>";
|
||||
} else {
|
||||
echo "<div id= 'indextext'>Willkommen auf unserer Webseite. Schauen Die sich um. Sie können sich hier registrieren und dann in einem geschlossenen Mitgliederbereich anmelden.</div>";
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
$obj = new Index();
|
||||
$obj -> besucher();
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
session_start();
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
@@ -65,7 +68,28 @@ if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
}
|
||||
|
||||
private function anmelden_db() {
|
||||
$vorhanden = false;
|
||||
require("db.inc.php");
|
||||
if ($stmt = $pdo->prepare("SELECT userid, pw FROM mitglieder"))
|
||||
{
|
||||
$stmt -> execute();
|
||||
while ($row = $stmt -> fetch()) {
|
||||
if (isset($_POST["userid"]) && $_POST["userid"] == $row['userid'] && md5($_POST["pw"]) == $row['pw']); {
|
||||
$vorhanden = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($vorhanden) {
|
||||
$_SESSION["name"] = $_POST["userid"];
|
||||
$_SESSION["login"] = "true";
|
||||
$dat = "index.php";
|
||||
}
|
||||
else {
|
||||
$dat = "loginfehler.php";
|
||||
}
|
||||
header("Location: $dat");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
session_start();
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav"> <?php require("nav.php") ?></div>
|
||||
<div id="content">
|
||||
<h1>Anmeldefehler</h1>
|
||||
<?php
|
||||
require("login.inc.php");
|
||||
|
||||
class LoginFehler {
|
||||
public function fehler() {
|
||||
echo "<h4>Die Anmeldedaten waren leider falsch</h4>". "<a href='login.php'>Neu Anmelden</a>";
|
||||
}
|
||||
}
|
||||
$loginobj = new LoginFehler();
|
||||
$loginobj -> fehler();
|
||||
?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
class OFF {
|
||||
function ausloggen() {
|
||||
session_destroy();
|
||||
$dat = "index.php";
|
||||
header("Location: $dat");
|
||||
}
|
||||
}
|
||||
$obj = new Off();
|
||||
$obj -> ausloggen();
|
||||
?>
|
||||
@@ -0,0 +1 @@
|
||||
<a href="logout.php">Logout</a>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav"> <?php require("nav.php") ?></div>
|
||||
<div id="content">
|
||||
<h1>Registrierungsfehler</h1>
|
||||
<?php
|
||||
require ("registrieren.inc.php");
|
||||
class RegFehler {
|
||||
public function fehler() {
|
||||
echo "<h4>Die Registrierung hat leider nicht funktioniert</h4>". "<h5>Wählen Sie eine andere Userid und versuchen Sie es erneut.</h5>";
|
||||
}
|
||||
}
|
||||
$regobj = new RegFehler();
|
||||
$regobj -> fehler()
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -26,7 +26,7 @@
|
||||
<input name="email" maxlength="30"
|
||||
<?php
|
||||
if (isset($_POST['email'])) {
|
||||
echo "value='" . $_POST['e-mail'] . "'";
|
||||
echo "value='" . $_POST['email'] . "'";
|
||||
}
|
||||
?>
|
||||
/>
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
/**
|
||||
* Festlegung der Untergrenze für die PHP-Version
|
||||
* @version 1.0
|
||||
@@ -6,6 +8,7 @@
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
@@ -63,7 +66,7 @@ if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
|
||||
//Kritische Zeichen aus der freien Eingabe der Zusatzinfos eleminieren
|
||||
|
||||
$_POST['zusatzinfos'] = preg_replace("/[<|>|$|%|&|§]/", "#", $_POST['zusatzinfos']);
|
||||
$_POST['zusatzinfos'] = preg_replace("/[<>$\%&§]/", "#", $_POST['zusatzinfos']);
|
||||
|
||||
// Testausgaben für den derzeitigen Stand des Projekts
|
||||
echo "Die Eingaben: <hr>";
|
||||
@@ -79,13 +82,40 @@ if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
*/
|
||||
|
||||
private function eintragen_db() {
|
||||
require ("db.inc.php");
|
||||
try {
|
||||
$stmt = $pdo->prepare("INSERT INTO mitglieder (
|
||||
name, vorname, email, zusatzinfos, rolle, userid, pw)
|
||||
VALUES (:name, :vorname, :email, :zusatzinfos, :rolle,
|
||||
:userid, :pw)");
|
||||
|
||||
$stmt->execute(array(
|
||||
':name' => $_POST["name"],
|
||||
':vorname' => $_POST["vorname"],
|
||||
':email' => $_POST["email"],
|
||||
':zusatzinfos' => $_POST["zusatzinfos"],
|
||||
':rolle' => "Mitglied",
|
||||
':userid' => $_POST["userid"],
|
||||
':pw' => md5($_POST["pw"])
|
||||
));
|
||||
|
||||
$_SESSION["name"] = $_POST["userid"];
|
||||
$_SESSION["login"] = "false";
|
||||
$dat = "index.php";
|
||||
}
|
||||
catch (PDOException $e) {
|
||||
error_log("Registrierungsfehler: " . $e->getMessage()); // Log für Admins
|
||||
$dat = "regfehler.php";
|
||||
|
||||
}
|
||||
|
||||
header("Location: $dat");
|
||||
}
|
||||
|
||||
}
|
||||
$regobj = new Registrierung();
|
||||
if (sizeof($_POST) > 0) {
|
||||
$regobj->registrieren();
|
||||
$regobj -> registrieren();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
/**
|
||||
* Start der Session
|
||||
*/
|
||||
session_start();
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bild speichern </title>
|
||||
<meta name="viewport" content=
|
||||
"width=device-width, initial-scale=1.0">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
class Bildspeichern {
|
||||
public function datup() {
|
||||
if (isset($_FILES['datei'])) {
|
||||
if (($_FILES['datei']['size'] > 100000) ||
|
||||
(filesize($_FILES['datei']['tmp_name'])
|
||||
> 100000)) {
|
||||
echo "Die Dateigröβe ist auf " .
|
||||
"100.000 Byte beschränkt.<br>" .
|
||||
"Verkleinern Sie das Bild bitte mit " .
|
||||
"einem geeigneten Grafikprogramm.<br>";
|
||||
}
|
||||
else if (($_FILES['datei']['type'] != "image/png")
|
||||
&& ($_FILES['datei']['type'] != "image/pjpeg")
|
||||
&& ($_FILES['datei']['type'] != "image/jpeg")) {
|
||||
echo "Es dürfen nur Bilddateien vom Typ" .
|
||||
" PNG oder JPEG hochgeladen werden.<br>";
|
||||
} else if (!empty($_FILES['datei']['name'])) {
|
||||
$dateiname = $_SESSION["name"] . time();
|
||||
if ($_FILES['datei']['type'] != "image/png") {
|
||||
$dateiname .= ".jpg";
|
||||
} else {
|
||||
$dateiname .= ".png";
|
||||
}
|
||||
$_SESSION["dateiname"] = $dateiname;
|
||||
if (move_uploaded_file(
|
||||
$_FILES['datei']['tmp_name'],
|
||||
'images/' . $dateiname)) {
|
||||
@include ("db.inc.php");
|
||||
|
||||
if ($stmt = $pdo -> prepare(
|
||||
"SELECT userid, id_mitglied FROM mitglieder")) {
|
||||
$stmt -> execute();
|
||||
while ($row = $stmt -> fetch()) {
|
||||
if ($_SESSION["name"] == $row["userid"]) {
|
||||
$_SESSION["id_mitglied"] = $row["id_mitglied"];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if ($stmt = $pdo -> prepare(
|
||||
"INSERT INTO fragen" .
|
||||
" (bild, zusatzinfos, id_mitglied) " .
|
||||
" VALUES (:bild, :zusatzinfos, :userid)")) {
|
||||
if ($stmt -> execute(
|
||||
array(
|
||||
':bild' => $_SESSION["dateiname"],
|
||||
':zusatzinfos' => $_POST["zusatzinfos"],
|
||||
':userid' => $_SESSION["id_mitglied"]
|
||||
)
|
||||
|
||||
)) {
|
||||
$dat = "upload_ok.php";
|
||||
} else {
|
||||
$dat = "upload_fehler.php";
|
||||
}
|
||||
header("Location: $dat");
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "<hr><a href='index.php'>Zur Homepage</a>";
|
||||
}
|
||||
}
|
||||
}
|
||||
$obj = new Bildspeichern();
|
||||
$obj -> datup();
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
* Start der Session
|
||||
*/
|
||||
session_start();
|
||||
|
||||
unset($_SESSION['captchacode']);
|
||||
// Zeichen, die der Captchacode enthalten darf
|
||||
$moeglicheZeichen = "abcdefghiklmnpqrstuvwxy123456789" .
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
// Anzahl der Zeichen, die das Captcha enthalten soll
|
||||
$anzahlZeichen = 4;
|
||||
// Captcha-Variable
|
||||
$captchacode = "";
|
||||
// Füllen der Captcha-Variable mit der festgelegten
|
||||
// Anzahl zufälliger Zeichen
|
||||
for ($i = 0; $i < $anzahlZeichen; $i++) {
|
||||
$captchacode .= substr($moeglicheZeichen,
|
||||
(rand() % (strlen($moeglicheZeichen))), 1);
|
||||
}
|
||||
// Schreiben des Captchacodes in die Session
|
||||
$_SESSION['captchacode'] = $captchacode;
|
||||
header('Content-type: image/jpg');
|
||||
$image = imagecreate(350, 130);
|
||||
$farben = array();
|
||||
for ($i = 0; $i < $anzahlZeichen; $i++) {
|
||||
$farben[$i] = imagecolorallocate($image,
|
||||
rand(0, 255), rand(0, 255), rand(0, 255));
|
||||
}
|
||||
$bgc = imagecolorallocate($image, 230, 230, 230);
|
||||
imagefill($image, 0, 0, $bgc);
|
||||
for ($i = 0; $i < $anzahlZeichen; $i++) {
|
||||
ImageTTFText($image, rand(20, 80), rand(-20, 60),
|
||||
50 + ($i * 50), rand(80, 120),
|
||||
$farben[rand(0, $anzahlZeichen - 1)],
|
||||
"fonts/Anorexia.ttf", $captchacode[$i]);
|
||||
}
|
||||
for ($i = 0; $i < $anzahlZeichen; $i++) {
|
||||
imageline($image, rand(0, 10), rand(0, 150),
|
||||
rand(330, 340), rand(0, 150), $farben[$i]);
|
||||
}
|
||||
imagejpeg($image);
|
||||
imagedestroy($image);
|
||||
?>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
$dbuser = 'root';
|
||||
$dbpw = 'Feuerwehr1!';
|
||||
$dbhost = 'localhost';
|
||||
$dbname = 'sozialesnetzwerk';
|
||||
|
||||
try {
|
||||
$pdo = new PDO ("mysql:dbname=$dbname;host=$dbhost", $dbuser, $dbpw);
|
||||
} catch (PDOException $e) {
|
||||
die ($e->getMessage());
|
||||
}
|
||||
|
||||
?>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
setcookie("Image2Food", time(), time() + (60 * 60 * 24 * 120));
|
||||
|
||||
/**
|
||||
* Festlegung der Untergrenze für die PHP-Version
|
||||
* @version 1.0
|
||||
*/
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
class MeineAusnahme extends Exception{};
|
||||
?>
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
|
||||
try {
|
||||
if (isset($_SESSION["login"]) && ($_SESSION["login"] == "true")) {
|
||||
if (!@include("navmitglieder.php")){
|
||||
throw new MeineAusnahme();
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!@include("nav.php")){
|
||||
throw new MeineAusnahme();
|
||||
}
|
||||
}
|
||||
|
||||
} catch (MeineAusnahme $e) {
|
||||
die("<h1>Image2Food - Sag mir was ich daraus kochen kann</h1>
|
||||
<h2>Das soziale, multimediale Netzwerk für Kochideen</h2>
|
||||
<p> Leider gibt es ein Problem mit der Webseite.
|
||||
Wir arbeiten daran mit Hochdruck. Besuchen Sie uns in kürze wieder erneut</p>");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h1>Image2Food - Sag mir was ich daraus kochen kann</h1>
|
||||
<h2>Das soziale, multimediale Netzwerk für Kochideen</h2>
|
||||
<?php
|
||||
/**
|
||||
* Das soziale Netzwerk für Kochideen
|
||||
* die Einstiegsseite mit der Hauptklasse
|
||||
*/
|
||||
class Index {
|
||||
function besucher() {
|
||||
if (isset($_SESSION["login"]) && ($_SESSION["login"] == "true")){
|
||||
echo "<div id='indextext'><h3>Mitgliederbereich</h3><br>Sie sind Angemeldet</div>";
|
||||
@include("uploadformular.inc.php");
|
||||
echo "<a href='vorschaubilder.php'" ." target='vorschau'>Vorschau</a>";
|
||||
} elseif (isset($_SESSION["login"]) && ($_SESSION["login"] == "false")){
|
||||
echo "<div id='indextext'> Sie können sich jetzt zum Mitgliederbereich anmelden. </div>";
|
||||
} elseif (isset($_COOKIE['Image2Food'])){
|
||||
echo "<div id='indextext'> Schön Sie wieder zu sehen. Melden Sie sich an, um in den geschlossenen Mitgliederbereich zu gelangen, wenn Sie sich schon registriert haben. </div>";
|
||||
} else {
|
||||
echo "<div id= 'indextext'>Willkommen auf unserer Webseite. Schauen Die sich um. Sie können sich hier registrieren und dann in einem geschlossenen Mitgliederbereich anmelden.</div>";
|
||||
}
|
||||
}
|
||||
}
|
||||
$obj = new Index();
|
||||
$obj -> besucher();
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,337 @@
|
||||
// Elemente und Universalselektor
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
vertical-align: baseline;
|
||||
background: transparent;
|
||||
}
|
||||
body {
|
||||
background: #145D05;
|
||||
color: white;
|
||||
}
|
||||
h1, h2, h3, h4, h5 {
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin: 15px;
|
||||
padding: 5px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: white;
|
||||
background: #6C0610;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
min-width: 85px;
|
||||
height: 20px;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
form {
|
||||
background: white;
|
||||
color: #145D05;
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
border-style: inset;
|
||||
border-width: 3pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
textarea {
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
border-style: solid;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
input {
|
||||
margin: 5px;
|
||||
padding: 2px;
|
||||
border-style: solid;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
// Klassen
|
||||
.hlink {
|
||||
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
height: 35px;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
.spezielleUeber {
|
||||
background: white;
|
||||
color: #145D05;
|
||||
font-size: 110%;
|
||||
}
|
||||
.reg_label {
|
||||
display: inline-block;
|
||||
width: 200px;
|
||||
}
|
||||
a:hover {
|
||||
color: #145D05;
|
||||
background: white;
|
||||
}
|
||||
.hlink:hover {
|
||||
color: white;
|
||||
background: #6C0610;
|
||||
}
|
||||
.thumb {
|
||||
width: 120px;
|
||||
height: 160px;
|
||||
display: inline-block;
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
overflow: hidden;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
.fehlermeldung {
|
||||
color: #6C0610;
|
||||
}
|
||||
|
||||
.captcha {
|
||||
width: 200px;
|
||||
margin: 10px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
.detailbildcontainer {
|
||||
height: 250px;
|
||||
width: 250px;
|
||||
margin: 3px;
|
||||
}
|
||||
.detailbild {
|
||||
max-height: 320px;
|
||||
max-width: 320px;
|
||||
padding: 3px;
|
||||
}
|
||||
.vorschauinfos {
|
||||
color: #145D05;
|
||||
background: white;
|
||||
margin: 5px;
|
||||
padding: 15px;
|
||||
width: 650px;
|
||||
max-height: 150px;
|
||||
overflow: scroll;
|
||||
border-style: inline;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.hlink_klein {
|
||||
|
||||
text-decoration: none;
|
||||
height: 18px;
|
||||
width: 110px;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
font-size: 12px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
.hlink_nix {
|
||||
color: white;
|
||||
background: #145D05;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
min-width: 85px;
|
||||
height: auto;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
text-decoration: none;
|
||||
text-align: left;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
font-size: 0px;
|
||||
border-style: none;
|
||||
border-width: 0pt;
|
||||
-moz-border-radius: 0px;
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
-moz-box-shadow: 0px 0px 0px #888;
|
||||
-webkit-box-shadow: 0px 0px 0px #888;
|
||||
box-shadow: 0px 0px 0px #888;
|
||||
}
|
||||
.thumb_bild {
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
border-style: dotted;
|
||||
border-width: 1pt;
|
||||
opacity: 0.9;
|
||||
color: #888;
|
||||
}
|
||||
.thumb_bild:hover {
|
||||
border-style: groove;
|
||||
color: white;
|
||||
opacity: 1;
|
||||
-moz-box-shadow: 2px 2px 3px #888;
|
||||
-webkit-box-shadow: 2px 2px 3px #888;
|
||||
box-shadow: 2px 2px 3px #888;
|
||||
}
|
||||
.rezepttab {
|
||||
|
||||
width: 950px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
|
||||
// IDs
|
||||
#detailbereich {
|
||||
height: 550px;
|
||||
width: 98%;
|
||||
margin: auto;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
#vorschauber {
|
||||
height: 300px;
|
||||
width: 98%;
|
||||
margin: auto;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
#nav {
|
||||
width: 1000px;
|
||||
height: 40px;
|
||||
margin: auto;
|
||||
padding: 10px;
|
||||
}
|
||||
#content {
|
||||
width: 1000px;
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#indextext {
|
||||
text-align: justify;
|
||||
background: white;
|
||||
color: #145D05;
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
border-style: inset;
|
||||
border-width: 3pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
box-shadow: 5px 5px 5px #888;
|
||||
}
|
||||
#meldung {
|
||||
position: relative;
|
||||
top: -200px;
|
||||
margin: 0 auto;
|
||||
opacity: 0.7;
|
||||
visibility: hidden;
|
||||
background: white;
|
||||
color: #6C0610;
|
||||
width: 450px;
|
||||
min-height: 40px;
|
||||
padding: 20px;
|
||||
border-style: inset;
|
||||
border-width: 3pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
box-shadow: 5px 5px 5px #888;
|
||||
}
|
||||
|
||||
#rezeptformular {
|
||||
width: 950px;
|
||||
margin: 3px;
|
||||
}
|
||||
#detailinfo {
|
||||
vertical-align: top;
|
||||
padding: 5px;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<form action="login.php" method="post">
|
||||
<label class="reg_label">Userid</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="userid" maxlength="20"/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Passwort</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="pw" type="password" maxlength="50"/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<img src="captchagenerieren.php" alt="Captcha"><br>
|
||||
<label class="reg_label">Captcha</label>
|
||||
<span class="pflichtmarker"> * </span>
|
||||
<input name="captcha">
|
||||
<br>
|
||||
<input type="submit">
|
||||
</form>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/**
|
||||
* Festlegung der Untergrenze für die PHP-Version
|
||||
* @version 1.0
|
||||
*/
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
session_start();
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - login</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
@include("nav.php");
|
||||
@include("plausi.inc.php")
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h1>Login</h1>
|
||||
<?php
|
||||
@include("login.inc.php");
|
||||
/**
|
||||
* Das soziale Netzwerk für Kochideen
|
||||
* die Loginseite
|
||||
*/
|
||||
class Login {
|
||||
|
||||
|
||||
public function _login(){
|
||||
if ($this->plausiblisieren()) {
|
||||
$this->anmelden_db();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Plausiblisierungsmethode
|
||||
* Testet die einzelnen Eingabefelder des Registrierungsformulars gegenüber
|
||||
* - den Notwendigkeiten in der MySQL-Datenbank und
|
||||
* - weiteren Anforderungen, die die Logik des Netzwerks fordert
|
||||
* Die Eingaben stehen im globalen Array $_POST zur Verfügung
|
||||
* @return true, wenn die Plausiblisierung keine Fehler ergab - sonst false
|
||||
*/
|
||||
|
||||
private function plausiblisieren() {
|
||||
// Fehlervariable
|
||||
$anmelden = 0;
|
||||
|
||||
$p = new Plausi();
|
||||
$anmelden += $p->nutzerdatentest($_POST['userid']);
|
||||
$anmelden += $p->nutzerdatentest($_POST['pw']);
|
||||
$anmelden += $p->captchatest($_POST['captcha']);
|
||||
|
||||
// Testausgaben für den derzeitigen Stand des Projekts
|
||||
echo "Die Eingaben: <hr>";
|
||||
print_r($_POST);
|
||||
echo "<br>Fehleranzahl: " . $anmelden . "<hr>";
|
||||
if ($anmelden == 0) return true;
|
||||
else return false;
|
||||
}
|
||||
|
||||
private function anmelden_db() {
|
||||
$vorhanden = false;
|
||||
@include("db.inc.php");
|
||||
if ($stmt = $pdo->prepare("SELECT userid, pw FROM mitglieder"))
|
||||
{
|
||||
$stmt -> execute();
|
||||
while ($row = $stmt -> fetch()) {
|
||||
if (isset($_POST["userid"]) && $_POST["userid"] == $row['userid'] && md5($_POST["pw"]) == $row['pw']); {
|
||||
$vorhanden = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($vorhanden) {
|
||||
$_SESSION["name"] = $_POST["userid"];
|
||||
$_SESSION["login"] = "true";
|
||||
$dat = "index.php";
|
||||
}
|
||||
else {
|
||||
$dat = "loginfehler.php";
|
||||
}
|
||||
header("Location: $dat");
|
||||
}
|
||||
}
|
||||
|
||||
$regobj = new Login();
|
||||
if (sizeof($_POST) > 0) {
|
||||
$regobj->_login();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
session_start();
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav"> <?php @include("nav.php") ?></div>
|
||||
<div id="content">
|
||||
<h1>Anmeldefehler</h1>
|
||||
<?php
|
||||
@include("login.inc.php");
|
||||
|
||||
class LoginFehler {
|
||||
public function fehler() {
|
||||
echo "<h4>Die Anmeldedaten waren leider falsch</h4>". "<a href='login.php'>Neu Anmelden</a>";
|
||||
}
|
||||
}
|
||||
$loginobj = new LoginFehler();
|
||||
$loginobj -> fehler();
|
||||
?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
class OFF {
|
||||
function ausloggen() {
|
||||
session_destroy();
|
||||
$dat = "index.php";
|
||||
header("Location: $dat");
|
||||
}
|
||||
}
|
||||
$obj = new Off();
|
||||
$obj -> ausloggen();
|
||||
?>
|
||||
@@ -0,0 +1,3 @@
|
||||
<a href="index.php">Home</a>
|
||||
<a href="registrieren.php">Registrieren</a>
|
||||
<a href="login.php">Login</a>
|
||||
@@ -0,0 +1 @@
|
||||
<a href="logout.php">Logout</a>
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
/**
|
||||
* Klasse mit Testmethoden, on die offensichtlichen Regeln für das Netzwerk erfüllt sind
|
||||
*/
|
||||
|
||||
class Plausi {
|
||||
public function namentest($wert) {
|
||||
|
||||
if (preg_match("/^\w{2,30}$/", $wert)) {
|
||||
return 0;
|
||||
}else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
public function emailtest($wert) {
|
||||
$fehler = 0;
|
||||
|
||||
//Test der notwendige E-Mail-Struktur
|
||||
|
||||
if (!preg_match("/\w+@\w+\.\w{2}/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
//nichtalphanumerische Zeichen - ausser dem Zeichen @
|
||||
|
||||
if (preg_match("/\W/", $wert, $ergarray)) {
|
||||
if ($ergarray[0] != "@") {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
}
|
||||
return $fehler;
|
||||
}
|
||||
|
||||
public function nutzerdatentest($wert) {
|
||||
|
||||
$fehler = 0;
|
||||
|
||||
if (!preg_match("/^\w{8,20}$/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
// Prüfung keine Zahl
|
||||
|
||||
if (!preg_match("/\d/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
//Kein Großbuchstabe
|
||||
|
||||
if (!preg_match("/[A-Z]/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
//Kein Kleinbuchstabe
|
||||
|
||||
if (!preg_match("/[a-z]/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function captchatest($wert) {
|
||||
$fehler = 0;
|
||||
if ($_SESSION['captchacode'] != $wert) {
|
||||
return ++$fehler;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav"> <?php @include("nav.php") ?></div>
|
||||
<div id="content">
|
||||
<h1>Registrierungsfehler</h1>
|
||||
<?php
|
||||
@include ("registrieren.inc.php");
|
||||
class RegFehler {
|
||||
public function fehler() {
|
||||
echo "<h4>Die Registrierung hat leider nicht funktioniert</h4>". "<h5>Wählen Sie eine andere Userid und versuchen Sie es erneut.</h5>";
|
||||
}
|
||||
}
|
||||
$regobj = new RegFehler();
|
||||
$regobj -> fehler()
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,63 @@
|
||||
<form action="registrieren.php" method="post">
|
||||
<label class="reg_label">Name</label>
|
||||
<span class="pflichtmaker"> * </span>
|
||||
<input name="name" maxlength="30"
|
||||
<?php
|
||||
if (isset($_POST['name'])) {
|
||||
echo "value='" . $_POST['name'] . "'";
|
||||
}
|
||||
?>
|
||||
/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Vorname</label>
|
||||
<span class="pflichtmaker"> * </span>
|
||||
<input name="vorname" maxlength="30"
|
||||
<?php
|
||||
if (isset($_POST['vorname'])) {
|
||||
echo "value='" . $_POST['vorname'] . "'";
|
||||
}
|
||||
?>
|
||||
/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_lab">E-Mail</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="email" maxlength="30"
|
||||
<?php
|
||||
if (isset($_POST['email'])) {
|
||||
echo "value='" . $_POST['email'] . "'";
|
||||
}
|
||||
?>
|
||||
/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Userid</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="userid" maxlength="20"/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Passwort</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="pw" type="password" maxlength="50"/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Zusatzinfos</label>
|
||||
<span class="plichtfeld"> </span>
|
||||
<textarea name="zusatzinfos" rows="5" cols="30">
|
||||
<?php
|
||||
if (isset($_POST['zusatzinfos'])) {
|
||||
echo $_POST['zusatzinfos'];
|
||||
}
|
||||
?>
|
||||
</textarea>
|
||||
<br>
|
||||
<img src="captchagenerieren.php" alt="Captcha"><br>
|
||||
<label class="reg_label">Captcha</label>
|
||||
<span class="pflichtmarker"> * </span>
|
||||
<input name="captcha">
|
||||
<br>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<input type="submit">
|
||||
</form>
|
||||
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
/**
|
||||
* Festlegung der Untergrenze für die PHP-Version
|
||||
* @version 1.0
|
||||
*/
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Regestrierung</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
@include("nav.php");
|
||||
@include("plausi.inc.php");
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h1>Registrierung</h1>
|
||||
<?php
|
||||
@include("registrieren.inc.php");
|
||||
/**
|
||||
* Das soziale Netzwerk für Kochideen die registrierungsseite
|
||||
*/
|
||||
class Registrierung {
|
||||
/**
|
||||
* Registrierungsmethode
|
||||
* - Erst Eingaben des Anwenders plausiblisieren
|
||||
* - Dann in der MySQL-Datenbank eintragen, wenn die Plausiblisierung keine Fehler ergeben hat.
|
||||
*/
|
||||
public function registrieren(){
|
||||
if ($this->plausiblisieren()) {
|
||||
$this->eintragen_db();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Plausiblisierungsmethode
|
||||
* Testet die einzelnen Eingabefelder des Registrierungsformulars gegenüber
|
||||
* - den Notwendigkeiten in der MySQL-Datenbank und
|
||||
* - weiteren Anforderungen, die die Logik des Netzwerks fordert
|
||||
* Die Eingaben stehen im globalen Array $_POST zur Verfügung
|
||||
* @return true, wenn die Plausiblisierung keine Fehler ergab - sonst false
|
||||
*/
|
||||
|
||||
private function plausiblisieren() {
|
||||
// Fehlervariable
|
||||
$anmelden = 0;
|
||||
|
||||
$p = new Plausi();
|
||||
$anmelden += $p->namentest($_POST['name']);
|
||||
$anmelden += $p->namentest($_POST['vorname']);
|
||||
$anmelden += $p->emailtest($_POST['email']);
|
||||
$anmelden += $p->nutzerdatentest($_POST['userid']);
|
||||
$anmelden += $p->nutzerdatentest($_POST['pw']);
|
||||
|
||||
//Kritische Zeichen aus der freien Eingabe der Zusatzinfos eleminieren
|
||||
|
||||
$_POST['zusatzinfos'] = preg_replace("/[<>$\%&§]/", "#", $_POST['zusatzinfos']);
|
||||
|
||||
// Testausgaben für den derzeitigen Stand des Projekts
|
||||
echo "Die Eingaben: <hr>";
|
||||
print_r($_POST);
|
||||
echo "<br>Fehleranzahl: " . $anmelden . "<hr>";
|
||||
if ($anmelden == 0) return true;
|
||||
else return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Eintragen der Anmeldedaten in die Datenbank
|
||||
* Die Eingaben stehen im Array $_POST zur Verfügung
|
||||
*/
|
||||
|
||||
private function eintragen_db() {
|
||||
@include ("db.inc.php");
|
||||
try {
|
||||
$stmt = $pdo->prepare("INSERT INTO mitglieder (
|
||||
name, vorname, email, zusatzinfos, rolle, userid, pw)
|
||||
VALUES (:name, :vorname, :email, :zusatzinfos, :rolle,
|
||||
:userid, :pw)");
|
||||
|
||||
$stmt->execute(array(
|
||||
':name' => $_POST["name"],
|
||||
':vorname' => $_POST["vorname"],
|
||||
':email' => $_POST["email"],
|
||||
':zusatzinfos' => $_POST["zusatzinfos"],
|
||||
':rolle' => "Mitglied",
|
||||
':userid' => $_POST["userid"],
|
||||
':pw' => md5($_POST["pw"])
|
||||
));
|
||||
|
||||
$_SESSION["name"] = $_POST["userid"];
|
||||
$_SESSION["login"] = "false";
|
||||
$dat = "index.php";
|
||||
}
|
||||
catch (PDOException $e) {
|
||||
error_log("Registrierungsfehler: " . $e->getMessage()); // Log für Admins
|
||||
$dat = "regfehler.php";
|
||||
|
||||
}
|
||||
|
||||
header("Location: $dat");
|
||||
}
|
||||
|
||||
}
|
||||
$regobj = new Registrierung();
|
||||
if (sizeof($_POST) > 0) {
|
||||
$regobj -> registrieren();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig</h1>');
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Image2Food –
|
||||
Sag mir, was ich daraus kochen kann – Upload </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
@require ("navmitglieder.php");
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
|
||||
<h1>Registrierungsfehler</h1>
|
||||
<?php
|
||||
|
||||
|
||||
class UpFehler {
|
||||
|
||||
|
||||
public function fehler() {
|
||||
|
||||
echo "<h4>Der Upload und die Registrierung der Datei" . " im System hat leider nicht funktioniert.</h4>" . "<h5>Versuchen Sie es bitte erneut.</h5>";
|
||||
}
|
||||
}
|
||||
|
||||
$obj = new UpFehler();
|
||||
|
||||
$obj -> fehler();
|
||||
?>
|
||||
<hr>
|
||||
<a href='index.php'>Zur Homepage</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig</h1>');
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Image2Food –
|
||||
Sag mir, was ich daraus kochen kann – Upload </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
@require ("navmitglieder.php");
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
|
||||
<h1>Dateiupload ok</h1>
|
||||
<hr>
|
||||
<a href='index.php'>Zur Homepage</a>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
<h1>Wählen Sie eine Datei zum Upload aus</h1>
|
||||
<form action="bildspeichern.php" method="post" enctype="multipart/form-data">
|
||||
<input name="datei" type="file"><br>
|
||||
<textarea name="zusatzinfos" cols="20" rows="5">
|
||||
</textarea>
|
||||
<br>
|
||||
<input type="submit" value="Starte Upload">
|
||||
</form>
|
||||
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Vorschau</title>
|
||||
<meta charset="UTF-8">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Vorschau</h1>
|
||||
<?php
|
||||
class Thumb {
|
||||
function thumbnail_erstellen() {
|
||||
$bv = "images";
|
||||
$vb = "thumb";
|
||||
$verzeichnis = opendir($bv);
|
||||
$bilder = array();
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
if ((preg_match("/\.jpe?g$/i", $datei)) || (preg_match("/\.png$/i", $datei))) {
|
||||
$bilder[] = $datei;
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
$verzeichnis = opendir($vb);
|
||||
|
||||
|
||||
//Schleife, bis alle Files im Verzeichnis ausgelesen wurden
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
//Oft werden auch die Standardordner . und .. ausgelesen, diese sollen ignoriert werden
|
||||
if ($datei != "." AND $datei != "..") {
|
||||
//Files vom Server entfernen
|
||||
@unlink("$vb/$datei");
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
|
||||
foreach ($bilder as $bild) {
|
||||
if (preg_match("/\.png$/i", $bild)) {
|
||||
|
||||
$b = imagecreatefrompng("$bv/$bild");
|
||||
} else {
|
||||
$b = imagecreatefromjpeg("$bv/$bild");
|
||||
}
|
||||
|
||||
$originalbreite = imagesx($b);
|
||||
$originalhoehe = imagesy($b);
|
||||
$neuebreite = 120;
|
||||
$neuehoehe = floor($originalhoehe * ($neuebreite / $originalbreite));
|
||||
$neuesbild = imagecreatetruecolor($neuebreite, $neuehoehe);
|
||||
imagecopyresampled($neuesbild, $b, 0, 0, 0, 0, $neuebreite, $neuehoehe, $originalbreite, $originalhoehe);
|
||||
imagejpeg($neuesbild, "$vb/$bild");
|
||||
imagedestroy($neuesbild);
|
||||
}
|
||||
}
|
||||
|
||||
function thumbnail_anzeigen() {
|
||||
$bv = "thumb";
|
||||
$verzeichnis = opendir($bv);
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
if (preg_match("/\.jpe?g$/i", $datei)) {
|
||||
echo "<a href=''><img src='$bv/$datei' " . "alt='Vorschaubild'></a> ";
|
||||
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$obj = new Thumb();
|
||||
|
||||
$obj -> thumbnail_erstellen();
|
||||
$obj -> thumbnail_anzeigen();
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
session_start ();
|
||||
class Bemerkungen {
|
||||
function bemerk_db($bild) {
|
||||
@include("db.inc.php");
|
||||
$s1 ="<table class='rezepttab'><tr>" .
|
||||
"<td class='detailbildcontainer'>" .
|
||||
"<img class='detailbild' src='images/$bild'>" .
|
||||
"</td><td class='detailinfo'>";
|
||||
|
||||
if ($stmt = $pdo->prepare (
|
||||
"SELECT zusatzinfos FROM fragen " .
|
||||
"where bild='$bild'" )) {
|
||||
$stmt->execute ();
|
||||
while ( $row = $stmt->fetch () ) {
|
||||
if ($row ['zusatzinfos'] == "")
|
||||
$s2 = "Es sind keine zusätzlichen Informationen "
|
||||
. "zu dem Bild in der" .
|
||||
" Datenbank hinterlegt.</td></tr></table>";
|
||||
else
|
||||
$s2 = $row['zusatzinfos'] . "</td></tr></table>";
|
||||
}
|
||||
}
|
||||
$s3="<form action='index.php' id='rezeptformular'>".
|
||||
"<h3>Ihr Vorschlag für ein Rezept</h3> " .
|
||||
"<textarea name='rezeptvorschlag' cols='105' rows='4' id='rezeptvorschlag'></textarea>" .
|
||||
"<input type='hidden' name='bild' value=$bild>" .
|
||||
"<br><input class='hlink' " .
|
||||
"type='submit' value='Vorschlag abgeben'></form>";
|
||||
echo $s1 . $s2 . $s3;
|
||||
}
|
||||
}
|
||||
if(isset( $_GET ['details'] )) {
|
||||
$obj = new Bemerkungen ();
|
||||
$obj->bemerk_db ( $_GET ['details'] );
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
/**
|
||||
* Start der Session
|
||||
*/
|
||||
session_start();
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bild speichern </title>
|
||||
<meta name="viewport" content=
|
||||
"width=device-width, initial-scale=1.0">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
class Bildspeichern {
|
||||
public function datup() {
|
||||
if (isset($_FILES['datei'])) {
|
||||
if (($_FILES['datei']['size'] > 100000) ||
|
||||
(filesize($_FILES['datei']['tmp_name'])
|
||||
> 100000)) {
|
||||
echo "Die Dateigröβe ist auf " .
|
||||
"100.000 Byte beschränkt.<br>" .
|
||||
"Verkleinern Sie das Bild bitte mit " .
|
||||
"einem geeigneten Grafikprogramm.<br>";
|
||||
}
|
||||
else if (($_FILES['datei']['type'] != "image/png")
|
||||
&& ($_FILES['datei']['type'] != "image/pjpeg")
|
||||
&& ($_FILES['datei']['type'] != "image/jpeg")) {
|
||||
echo "Es dürfen nur Bilddateien vom Typ" .
|
||||
" PNG oder JPEG hochgeladen werden.<br>";
|
||||
} else if (!empty($_FILES['datei']['name'])) {
|
||||
$dateiname = $_SESSION["name"] . time();
|
||||
if ($_FILES['datei']['type'] != "image/png") {
|
||||
$dateiname .= ".jpg";
|
||||
} else {
|
||||
$dateiname .= ".png";
|
||||
}
|
||||
$_SESSION["dateiname"] = $dateiname;
|
||||
if (move_uploaded_file(
|
||||
$_FILES['datei']['tmp_name'],
|
||||
'images/' . $dateiname)) {
|
||||
@include ("db.inc.php");
|
||||
|
||||
if ($stmt = $pdo -> prepare(
|
||||
"SELECT userid, id_mitglied FROM mitglieder")) {
|
||||
$stmt -> execute();
|
||||
while ($row = $stmt -> fetch()) {
|
||||
if ($_SESSION["name"] == $row["userid"]) {
|
||||
$_SESSION["id_mitglied"] = $row["id_mitglied"];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if ($stmt = $pdo -> prepare(
|
||||
"INSERT INTO fragen" .
|
||||
" (bild, zusatzinfos, id_mitglied) " .
|
||||
" VALUES (:bild, :zusatzinfos, :userid)")) {
|
||||
if ($stmt -> execute(
|
||||
array(
|
||||
':bild' => $_SESSION["dateiname"],
|
||||
':zusatzinfos' => $_POST["zusatzinfos"],
|
||||
':userid' => $_SESSION["id_mitglied"]
|
||||
)
|
||||
|
||||
)) {
|
||||
$dat = "upload_ok.php";
|
||||
@include("wertupdate.php");
|
||||
new WertUpdate("fragen",$_SESSION["id_mitglied"]);
|
||||
|
||||
} else {
|
||||
$dat = "upload_fehler.php";
|
||||
}
|
||||
header("Location: $dat");
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "<hr><a href='index.php'>Zur Homepage</a>";
|
||||
}
|
||||
}
|
||||
}
|
||||
$obj = new Bildspeichern();
|
||||
$obj -> datup();
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
* Start der Session
|
||||
*/
|
||||
session_start();
|
||||
|
||||
unset($_SESSION['captchacode']);
|
||||
// Zeichen, die der Captchacode enthalten darf
|
||||
$moeglicheZeichen = "abcdefghiklmnpqrstuvwxy123456789" .
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
// Anzahl der Zeichen, die das Captcha enthalten soll
|
||||
$anzahlZeichen = 4;
|
||||
// Captcha-Variable
|
||||
$captchacode = "";
|
||||
// Füllen der Captcha-Variable mit der festgelegten
|
||||
// Anzahl zufälliger Zeichen
|
||||
for ($i = 0; $i < $anzahlZeichen; $i++) {
|
||||
$captchacode .= substr($moeglicheZeichen,
|
||||
(rand() % (strlen($moeglicheZeichen))), 1);
|
||||
}
|
||||
// Schreiben des Captchacodes in die Session
|
||||
$_SESSION['captchacode'] = $captchacode;
|
||||
header('Content-type: image/jpg');
|
||||
$image = imagecreate(350, 130);
|
||||
$farben = array();
|
||||
for ($i = 0; $i < $anzahlZeichen; $i++) {
|
||||
$farben[$i] = imagecolorallocate($image,
|
||||
rand(0, 255), rand(0, 255), rand(0, 255));
|
||||
}
|
||||
$bgc = imagecolorallocate($image, 230, 230, 230);
|
||||
imagefill($image, 0, 0, $bgc);
|
||||
for ($i = 0; $i < $anzahlZeichen; $i++) {
|
||||
ImageTTFText($image, rand(20, 80), rand(-20, 60),
|
||||
50 + ($i * 50), rand(80, 120),
|
||||
$farben[rand(0, $anzahlZeichen - 1)],
|
||||
"fonts/Anorexia.ttf", $captchacode[$i]);
|
||||
}
|
||||
for ($i = 0; $i < $anzahlZeichen; $i++) {
|
||||
imageline($image, rand(0, 10), rand(0, 150),
|
||||
rand(330, 340), rand(0, 150), $farben[$i]);
|
||||
}
|
||||
imagejpeg($image);
|
||||
imagedestroy($image);
|
||||
?>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
$dbuser = 'root';
|
||||
$dbpw = 'Feuerwehr1!';
|
||||
$dbhost = 'localhost';
|
||||
$dbname = 'sozialesnetzwerk';
|
||||
|
||||
try {
|
||||
$pdo = new PDO ("mysql:dbname=$dbname;host=$dbhost", $dbuser, $dbpw);
|
||||
} catch (PDOException $e) {
|
||||
die ($e->getMessage());
|
||||
}
|
||||
|
||||
?>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
setcookie("Image2Food", time(), time() + (60 * 60 * 24 * 120));
|
||||
|
||||
/**
|
||||
* Festlegung der Untergrenze für die PHP-Version
|
||||
* @version 1.0
|
||||
*/
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
class MeineAusnahme extends Exception{};
|
||||
?>
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
|
||||
try {
|
||||
if (isset($_SESSION["login"]) && ($_SESSION["login"] == "true")) {
|
||||
if (!@include("navmitglieder.php")){
|
||||
throw new MeineAusnahme();
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!@include("nav.php")){
|
||||
throw new MeineAusnahme();
|
||||
}
|
||||
}
|
||||
|
||||
} catch (MeineAusnahme $e) {
|
||||
die("<h1>Image2Food - Sag mir was ich daraus kochen kann</h1>
|
||||
<h2>Das soziale, multimediale Netzwerk für Kochideen</h2>
|
||||
<p> Leider gibt es ein Problem mit der Webseite.
|
||||
Wir arbeiten daran mit Hochdruck. Besuchen Sie uns in kürze wieder erneut</p>");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h1>Image2Food - Sag mir was ich daraus kochen kann</h1>
|
||||
<h2>Das soziale, multimediale Netzwerk für Kochideen</h2>
|
||||
<?php
|
||||
/**
|
||||
* Das soziale Netzwerk für Kochideen
|
||||
* die Einstiegsseite mit der Hauptklasse
|
||||
*/
|
||||
class Index {
|
||||
function besucher() {
|
||||
if (isset($_SESSION["login"]) && ($_SESSION["login"] == "true")){
|
||||
echo "<div id='indextext'><h3>Mitgliederbereich</h3><br>Sie sind Angemeldet</div>";
|
||||
@include("uploadformular.inc.php");
|
||||
@include ("vorschau.php");
|
||||
echo "<a href='vorschaubilder.php'" ." target='vorschau'>Vorschau</a>";
|
||||
} elseif (isset($_SESSION["login"]) && ($_SESSION["login"] == "false")){
|
||||
echo "<div id='indextext'> Sie können sich jetzt zum Mitgliederbereich anmelden. </div>";
|
||||
} elseif (isset($_COOKIE['Image2Food'])){
|
||||
echo "<div id='indextext'> Schön Sie wieder zu sehen. Melden Sie sich an, um in den geschlossenen Mitgliederbereich zu gelangen, wenn Sie sich schon registriert haben. </div>";
|
||||
} else {
|
||||
echo "<div id= 'indextext'>Willkommen auf unserer Webseite. Schauen Die sich um. Sie können sich hier registrieren und dann in einem geschlossenen Mitgliederbereich anmelden.</div>";
|
||||
}
|
||||
}
|
||||
}
|
||||
$obj = new Index();
|
||||
$obj -> besucher();
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,337 @@
|
||||
// Elemente und Universalselektor
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
vertical-align: baseline;
|
||||
background: transparent;
|
||||
}
|
||||
body {
|
||||
background: #145D05;
|
||||
color: white;
|
||||
}
|
||||
h1, h2, h3, h4, h5 {
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin: 15px;
|
||||
padding: 5px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: white;
|
||||
background: #6C0610;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
min-width: 85px;
|
||||
height: 20px;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
form {
|
||||
background: white;
|
||||
color: #145D05;
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
border-style: inset;
|
||||
border-width: 3pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
textarea {
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
border-style: solid;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
input {
|
||||
margin: 5px;
|
||||
padding: 2px;
|
||||
border-style: solid;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
// Klassen
|
||||
.hlink {
|
||||
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
height: 35px;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
.spezielleUeber {
|
||||
background: white;
|
||||
color: #145D05;
|
||||
font-size: 110%;
|
||||
}
|
||||
.reg_label {
|
||||
display: inline-block;
|
||||
width: 200px;
|
||||
}
|
||||
a:hover {
|
||||
color: #145D05;
|
||||
background: white;
|
||||
}
|
||||
.hlink:hover {
|
||||
color: white;
|
||||
background: #6C0610;
|
||||
}
|
||||
.thumb {
|
||||
width: 120px;
|
||||
height: 160px;
|
||||
display: inline-block;
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
overflow: hidden;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
.fehlermeldung {
|
||||
color: #6C0610;
|
||||
}
|
||||
|
||||
.captcha {
|
||||
width: 200px;
|
||||
margin: 10px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
.detailbildcontainer {
|
||||
height: 250px;
|
||||
width: 250px;
|
||||
margin: 3px;
|
||||
}
|
||||
.detailbild {
|
||||
max-height: 320px;
|
||||
max-width: 320px;
|
||||
padding: 3px;
|
||||
}
|
||||
.vorschauinfos {
|
||||
color: #145D05;
|
||||
background: white;
|
||||
margin: 5px;
|
||||
padding: 15px;
|
||||
width: 650px;
|
||||
max-height: 150px;
|
||||
overflow: scroll;
|
||||
border-style: inline;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.hlink_klein {
|
||||
|
||||
text-decoration: none;
|
||||
height: 18px;
|
||||
width: 110px;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
font-size: 12px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
}
|
||||
.hlink_nix {
|
||||
color: white;
|
||||
background: #145D05;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
min-width: 85px;
|
||||
height: auto;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
text-decoration: none;
|
||||
text-align: left;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
font-size: 0px;
|
||||
border-style: none;
|
||||
border-width: 0pt;
|
||||
-moz-border-radius: 0px;
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
-moz-box-shadow: 0px 0px 0px #888;
|
||||
-webkit-box-shadow: 0px 0px 0px #888;
|
||||
box-shadow: 0px 0px 0px #888;
|
||||
}
|
||||
.thumb_bild {
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
border-style: dotted;
|
||||
border-width: 1pt;
|
||||
opacity: 0.9;
|
||||
color: #888;
|
||||
}
|
||||
.thumb_bild:hover {
|
||||
border-style: groove;
|
||||
color: white;
|
||||
opacity: 1;
|
||||
-moz-box-shadow: 2px 2px 3px #888;
|
||||
-webkit-box-shadow: 2px 2px 3px #888;
|
||||
box-shadow: 2px 2px 3px #888;
|
||||
}
|
||||
.rezepttab {
|
||||
|
||||
width: 950px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
|
||||
// IDs
|
||||
#detailbereich {
|
||||
height: 550px;
|
||||
width: 98%;
|
||||
margin: auto;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
#vorschauber {
|
||||
height: 300px;
|
||||
width: 98%;
|
||||
margin: auto;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 2px 3px #888;
|
||||
-webkit-box-shadow: 5px 2px 3px #888;
|
||||
box-shadow: 5px 2px 3px #888;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
#nav {
|
||||
width: 1000px;
|
||||
height: 40px;
|
||||
margin: auto;
|
||||
padding: 10px;
|
||||
}
|
||||
#content {
|
||||
width: 1000px;
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#indextext {
|
||||
text-align: justify;
|
||||
background: white;
|
||||
color: #145D05;
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
border-style: inset;
|
||||
border-width: 3pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
box-shadow: 5px 5px 5px #888;
|
||||
}
|
||||
#meldung {
|
||||
position: relative;
|
||||
top: -200px;
|
||||
margin: 0 auto;
|
||||
opacity: 0.7;
|
||||
visibility: hidden;
|
||||
background: white;
|
||||
color: #6C0610;
|
||||
width: 450px;
|
||||
min-height: 40px;
|
||||
padding: 20px;
|
||||
border-style: inset;
|
||||
border-width: 3pt;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-moz-box-shadow: 5px 5px 5px #888;
|
||||
-webkit-box-shadow: 5px 5px 5px #888;
|
||||
box-shadow: 5px 5px 5px #888;
|
||||
}
|
||||
|
||||
#rezeptformular {
|
||||
width: 950px;
|
||||
margin: 3px;
|
||||
}
|
||||
#detailinfo {
|
||||
vertical-align: top;
|
||||
padding: 5px;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<form action="login.php" method="post">
|
||||
<label class="reg_label">Userid</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="userid" maxlength="20"/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Passwort</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="pw" type="password" maxlength="50"/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<img src="captchagenerieren.php" alt="Captcha"><br>
|
||||
<label class="reg_label">Captcha</label>
|
||||
<span class="pflichtmarker"> * </span>
|
||||
<input name="captcha">
|
||||
<br>
|
||||
<input type="submit">
|
||||
</form>
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
/**
|
||||
* Festlegung der Untergrenze für die PHP-Version
|
||||
* @version 1.0
|
||||
*/
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
session_start();
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - login</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
@include("nav.php");
|
||||
@include("plausi.inc.php")
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h1>Login</h1>
|
||||
<?php
|
||||
@include("login.inc.php");
|
||||
/**
|
||||
* Das soziale Netzwerk für Kochideen
|
||||
* die Loginseite
|
||||
*/
|
||||
class Login {
|
||||
|
||||
|
||||
public function _login(){
|
||||
if ($this->plausiblisieren()) {
|
||||
$this->anmelden_db();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Plausiblisierungsmethode
|
||||
* Testet die einzelnen Eingabefelder des Registrierungsformulars gegenüber
|
||||
* - den Notwendigkeiten in der MySQL-Datenbank und
|
||||
* - weiteren Anforderungen, die die Logik des Netzwerks fordert
|
||||
* Die Eingaben stehen im globalen Array $_POST zur Verfügung
|
||||
* @return true, wenn die Plausiblisierung keine Fehler ergab - sonst false
|
||||
*/
|
||||
|
||||
private function plausiblisieren() {
|
||||
// Fehlervariable
|
||||
$anmelden = 0;
|
||||
|
||||
$p = new Plausi();
|
||||
$anmelden += $p->nutzerdatentest($_POST['userid']);
|
||||
$anmelden += $p->nutzerdatentest($_POST['pw']);
|
||||
$anmelden += $p->captchatest($_POST['captcha']);
|
||||
|
||||
// Testausgaben für den derzeitigen Stand des Projekts
|
||||
echo "Die Eingaben: <hr>";
|
||||
print_r($_POST);
|
||||
echo "<br>Fehleranzahl: " . $anmelden . "<hr>";
|
||||
if ($anmelden == 0) return true;
|
||||
else return false;
|
||||
}
|
||||
|
||||
private function anmelden_db() {
|
||||
$vorhanden = false;
|
||||
@include("db.inc.php");
|
||||
if ($stmt = $pdo->prepare("SELECT userid, pw FROM mitglieder"))
|
||||
{
|
||||
$stmt -> execute();
|
||||
while ($row = $stmt -> fetch()) {
|
||||
if (isset($_POST["userid"]) && $_POST["userid"] == $row['userid'] && md5($_POST["pw"]) == $row['pw']); {
|
||||
$vorhanden = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($vorhanden) {
|
||||
$_SESSION["name"] = $_POST["userid"];
|
||||
$_SESSION["login"] = "true";
|
||||
$dat = "index.php";
|
||||
}
|
||||
else {
|
||||
$dat = "loginfehler.php";
|
||||
}
|
||||
header("Location: $dat");
|
||||
}
|
||||
}
|
||||
|
||||
$regobj = new Login();
|
||||
if (sizeof($_POST) > 0) {
|
||||
$regobj->_login();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
session_start();
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav"> <?php @include("nav.php") ?></div>
|
||||
<div id="content">
|
||||
<h1>Anmeldefehler</h1>
|
||||
<?php
|
||||
@include("login.inc.php");
|
||||
|
||||
class LoginFehler {
|
||||
public function fehler() {
|
||||
echo "<h4>Die Anmeldedaten waren leider falsch</h4>". "<a href='login.php'>Neu Anmelden</a>";
|
||||
}
|
||||
}
|
||||
$loginobj = new LoginFehler();
|
||||
$loginobj -> fehler();
|
||||
?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
class OFF {
|
||||
function ausloggen() {
|
||||
session_destroy();
|
||||
$dat = "index.php";
|
||||
header("Location: $dat");
|
||||
}
|
||||
}
|
||||
$obj = new Off();
|
||||
$obj -> ausloggen();
|
||||
?>
|
||||
@@ -0,0 +1,3 @@
|
||||
<a href="index.php">Home</a>
|
||||
<a href="registrieren.php">Registrieren</a>
|
||||
<a href="login.php">Login</a>
|
||||
@@ -0,0 +1 @@
|
||||
<a href="logout.php">Logout</a>
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
/**
|
||||
* Klasse mit Testmethoden, on die offensichtlichen Regeln für das Netzwerk erfüllt sind
|
||||
*/
|
||||
|
||||
class Plausi {
|
||||
public function namentest($wert) {
|
||||
|
||||
if (preg_match("/^\w{2,30}$/", $wert)) {
|
||||
return 0;
|
||||
}else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
public function emailtest($wert) {
|
||||
$fehler = 0;
|
||||
|
||||
//Test der notwendige E-Mail-Struktur
|
||||
|
||||
if (!preg_match("/\w+@\w+\.\w{2}/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
//nichtalphanumerische Zeichen - ausser dem Zeichen @
|
||||
|
||||
if (preg_match("/\W/", $wert, $ergarray)) {
|
||||
if ($ergarray[0] != "@") {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
}
|
||||
return $fehler;
|
||||
}
|
||||
|
||||
public function nutzerdatentest($wert) {
|
||||
|
||||
$fehler = 0;
|
||||
|
||||
if (!preg_match("/^\w{8,20}$/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
// Prüfung keine Zahl
|
||||
|
||||
if (!preg_match("/\d/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
//Kein Großbuchstabe
|
||||
|
||||
if (!preg_match("/[A-Z]/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
//Kein Kleinbuchstabe
|
||||
|
||||
if (!preg_match("/[a-z]/", $wert)) {
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function captchatest($wert) {
|
||||
$fehler = 0;
|
||||
if ($_SESSION['captchacode'] != $wert) {
|
||||
return ++$fehler;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Index</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav"> <?php @include("nav.php") ?></div>
|
||||
<div id="content">
|
||||
<h1>Registrierungsfehler</h1>
|
||||
<?php
|
||||
@include ("registrieren.inc.php");
|
||||
class RegFehler {
|
||||
public function fehler() {
|
||||
echo "<h4>Die Registrierung hat leider nicht funktioniert</h4>". "<h5>Wählen Sie eine andere Userid und versuchen Sie es erneut.</h5>";
|
||||
}
|
||||
}
|
||||
$regobj = new RegFehler();
|
||||
$regobj -> fehler()
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,63 @@
|
||||
<form action="registrieren.php" method="post">
|
||||
<label class="reg_label">Name</label>
|
||||
<span class="pflichtmaker"> * </span>
|
||||
<input name="name" maxlength="30"
|
||||
<?php
|
||||
if (isset($_POST['name'])) {
|
||||
echo "value='" . $_POST['name'] . "'";
|
||||
}
|
||||
?>
|
||||
/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Vorname</label>
|
||||
<span class="pflichtmaker"> * </span>
|
||||
<input name="vorname" maxlength="30"
|
||||
<?php
|
||||
if (isset($_POST['vorname'])) {
|
||||
echo "value='" . $_POST['vorname'] . "'";
|
||||
}
|
||||
?>
|
||||
/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_lab">E-Mail</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="email" maxlength="30"
|
||||
<?php
|
||||
if (isset($_POST['email'])) {
|
||||
echo "value='" . $_POST['email'] . "'";
|
||||
}
|
||||
?>
|
||||
/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Userid</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="userid" maxlength="20"/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Passwort</label>
|
||||
<span class="pflichtfeld"> * </span>
|
||||
<input name="pw" type="password" maxlength="50"/>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<label class="reg_label">Zusatzinfos</label>
|
||||
<span class="plichtfeld"> </span>
|
||||
<textarea name="zusatzinfos" rows="5" cols="30">
|
||||
<?php
|
||||
if (isset($_POST['zusatzinfos'])) {
|
||||
echo $_POST['zusatzinfos'];
|
||||
}
|
||||
?>
|
||||
</textarea>
|
||||
<br>
|
||||
<img src="captchagenerieren.php" alt="Captcha"><br>
|
||||
<label class="reg_label">Captcha</label>
|
||||
<span class="pflichtmarker"> * </span>
|
||||
<input name="captcha">
|
||||
<br>
|
||||
<span class="fehlermeldung"></span>
|
||||
<br>
|
||||
<input type="submit">
|
||||
</form>
|
||||
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
/**
|
||||
* Festlegung der Untergrenze für die PHP-Version
|
||||
* @version 1.0
|
||||
*/
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Image2Food - Sag mir was ich daraus kochen kann - Regestrierung</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
@include("nav.php");
|
||||
@include("plausi.inc.php");
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h1>Registrierung</h1>
|
||||
<?php
|
||||
@include("registrieren.inc.php");
|
||||
/**
|
||||
* Das soziale Netzwerk für Kochideen die registrierungsseite
|
||||
*/
|
||||
class Registrierung {
|
||||
/**
|
||||
* Registrierungsmethode
|
||||
* - Erst Eingaben des Anwenders plausiblisieren
|
||||
* - Dann in der MySQL-Datenbank eintragen, wenn die Plausiblisierung keine Fehler ergeben hat.
|
||||
*/
|
||||
public function registrieren(){
|
||||
if ($this->plausiblisieren()) {
|
||||
$this->eintragen_db();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Plausiblisierungsmethode
|
||||
* Testet die einzelnen Eingabefelder des Registrierungsformulars gegenüber
|
||||
* - den Notwendigkeiten in der MySQL-Datenbank und
|
||||
* - weiteren Anforderungen, die die Logik des Netzwerks fordert
|
||||
* Die Eingaben stehen im globalen Array $_POST zur Verfügung
|
||||
* @return true, wenn die Plausiblisierung keine Fehler ergab - sonst false
|
||||
*/
|
||||
|
||||
private function plausiblisieren() {
|
||||
// Fehlervariable
|
||||
$anmelden = 0;
|
||||
|
||||
$p = new Plausi();
|
||||
$anmelden += $p->namentest($_POST['name']);
|
||||
$anmelden += $p->namentest($_POST['vorname']);
|
||||
$anmelden += $p->emailtest($_POST['email']);
|
||||
$anmelden += $p->nutzerdatentest($_POST['userid']);
|
||||
$anmelden += $p->nutzerdatentest($_POST['pw']);
|
||||
|
||||
//Kritische Zeichen aus der freien Eingabe der Zusatzinfos eleminieren
|
||||
|
||||
$_POST['zusatzinfos'] = preg_replace("/[<>$\%&§]/", "#", $_POST['zusatzinfos']);
|
||||
|
||||
// Testausgaben für den derzeitigen Stand des Projekts
|
||||
echo "Die Eingaben: <hr>";
|
||||
print_r($_POST);
|
||||
echo "<br>Fehleranzahl: " . $anmelden . "<hr>";
|
||||
if ($anmelden == 0) return true;
|
||||
else return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Eintragen der Anmeldedaten in die Datenbank
|
||||
* Die Eingaben stehen im Array $_POST zur Verfügung
|
||||
*/
|
||||
|
||||
private function eintragen_db() {
|
||||
@include ("db.inc.php");
|
||||
try {
|
||||
$stmt = $pdo->prepare("INSERT INTO mitglieder (
|
||||
name, vorname, email, zusatzinfos, rolle, userid, pw)
|
||||
VALUES (:name, :vorname, :email, :zusatzinfos, :rolle,
|
||||
:userid, :pw)");
|
||||
|
||||
$stmt->execute(array(
|
||||
':name' => $_POST["name"],
|
||||
':vorname' => $_POST["vorname"],
|
||||
':email' => $_POST["email"],
|
||||
':zusatzinfos' => $_POST["zusatzinfos"],
|
||||
':rolle' => "Mitglied",
|
||||
':userid' => $_POST["userid"],
|
||||
':pw' => md5($_POST["pw"])
|
||||
));
|
||||
|
||||
$_SESSION["name"] = $_POST["userid"];
|
||||
$_SESSION["login"] = "false";
|
||||
$dat = "index.php";
|
||||
}
|
||||
catch (PDOException $e) {
|
||||
error_log("Registrierungsfehler: " . $e->getMessage()); // Log für Admins
|
||||
$dat = "regfehler.php";
|
||||
|
||||
}
|
||||
|
||||
header("Location: $dat");
|
||||
}
|
||||
|
||||
}
|
||||
$regobj = new Registrierung();
|
||||
if (sizeof($_POST) > 0) {
|
||||
$regobj -> registrieren();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
session_start ();
|
||||
class RezepteAnzeigen {
|
||||
function anzeigen_db($bild) {
|
||||
//String aufbauen, um das Bild auszugeben.
|
||||
$s="<table class='rezepttab'><tr>".
|
||||
"<td class='detailbildcontainer'>".
|
||||
"<img class='detailbild' src='images/$bild'>".
|
||||
"</td><td id='detailinfo'></td></tr></table>";
|
||||
|
||||
|
||||
$rezeptvorschlaege = "";
|
||||
@include ("db.inc.php");
|
||||
if ($stmt = $pdo->prepare (
|
||||
"SELECT id_frage FROM fragen " .
|
||||
"WHERE bild='$bild'" )) {
|
||||
$stmt->execute ();
|
||||
while ( $row = $stmt->fetch () ) {
|
||||
$id_frage = $row ['id_frage'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($stmt = $pdo->prepare (
|
||||
"SELECT id_antwortgeber,antwort FROM antworten "
|
||||
. "WHERE id_frage='$id_frage'" )) {
|
||||
$stmt->execute ();
|
||||
while ( $row = $stmt->fetch () ) {
|
||||
$rezeptvorschlaege .=
|
||||
"<div class='vorschauinfos'>Vorschlag vom Mitglied mit der ID " .
|
||||
$row ['id_antwortgeber'] . ":<br>" .
|
||||
$row ['antwort'] . "</div>";
|
||||
}
|
||||
}
|
||||
|
||||
if ($rezeptvorschlaege != "") {
|
||||
echo $s. "<h5>Rezeptideen</h5>" .
|
||||
$rezeptvorschlaege;
|
||||
} else {
|
||||
echo $s. "<h5>Rezeptideen</h5>" .
|
||||
"<div class='vorschauinfos'>" .
|
||||
"Es gibt noch keine Vorschläge</div>";
|
||||
}
|
||||
}
|
||||
}
|
||||
if(isset ($_GET ['rezepte'])) {
|
||||
$obj = new RezepteAnzeigen ();
|
||||
$obj->anzeigen_db ( $_GET ['rezepte'] );
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
session_start ();
|
||||
class RezeptEintragen {
|
||||
function eintragen_db($bild, $antwort) {
|
||||
@include ("db.inc.php");
|
||||
$userid = $_SESSION ["name"];
|
||||
if ($stmt = $pdo->prepare (
|
||||
"SELECT id_mitglied FROM mitglieder " .
|
||||
"WHERE userid='$userid'" )) {
|
||||
$stmt->execute ();
|
||||
while ( $row = $stmt->fetch () ) {
|
||||
$id_antwortgeber = $row ['id_mitglied'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($stmt = $pdo->prepare (
|
||||
"SELECT id_frage, id_mitglied FROM fragen " .
|
||||
"WHERE bild='$bild'" )) {
|
||||
$stmt->execute ();
|
||||
while ( $row = $stmt->fetch () ) {
|
||||
$id_frage = $row ['id_frage'];
|
||||
$id_fragesteller = $row ['id_mitglied'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($stmt = $pdo->prepare (
|
||||
"INSERT INTO antworten (id_fragesteller, " .
|
||||
"id_antwortgeber, id_frage, antwort) " .
|
||||
" VALUES (:id_fragesteller, :id_antwortgeber, :id_frage, :antwort)" )) {
|
||||
if ($stmt->execute ( array (
|
||||
':id_fragesteller' => $id_fragesteller,
|
||||
':id_antwortgeber' => $id_antwortgeber,
|
||||
':id_frage' => $id_frage,
|
||||
':antwort' => $antwort
|
||||
) )) {
|
||||
@include ("wertupdate.php");
|
||||
new WertUpdate ( "antworten", $id_antwortgeber );
|
||||
echo "Ihr Rezeptvorschlag wurde eingetragen";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(isset($_GET ['bild']) && isset($_GET ['rezeptvorschlag'])) {
|
||||
if (strlen($_GET ['rezeptvorschlag'])) {
|
||||
$obj = new RezeptEintragen ();
|
||||
$obj->eintragen_db ( $_GET ['bild'], $_GET ['rezeptvorschlag'] );
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig</h1>');
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Image2Food –
|
||||
Sag mir, was ich daraus kochen kann – Upload </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
@require ("navmitglieder.php");
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
|
||||
<h1>Registrierungsfehler</h1>
|
||||
<?php
|
||||
|
||||
|
||||
class UpFehler {
|
||||
|
||||
|
||||
public function fehler() {
|
||||
|
||||
echo "<h4>Der Upload und die Registrierung der Datei" . " im System hat leider nicht funktioniert.</h4>" . "<h5>Versuchen Sie es bitte erneut.</h5>";
|
||||
}
|
||||
}
|
||||
|
||||
$obj = new UpFehler();
|
||||
|
||||
$obj -> fehler();
|
||||
?>
|
||||
<hr>
|
||||
<a href='index.php'>Zur Homepage</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
if (0 > version_compare(PHP_VERSION, '7')) {
|
||||
die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig</h1>');
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Image2Food –
|
||||
Sag mir, was ich daraus kochen kann – Upload </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav">
|
||||
<?php
|
||||
@require ("navmitglieder.php");
|
||||
?>
|
||||
</div>
|
||||
<div id="content">
|
||||
|
||||
<h1>Dateiupload ok</h1>
|
||||
<hr>
|
||||
<a href='index.php'>Zur Homepage</a>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
<h1>Wählen Sie eine Datei zum Upload aus</h1>
|
||||
<form action="bildspeichern.php" method="post" enctype="multipart/form-data">
|
||||
<input name="datei" type="file"><br>
|
||||
<textarea name="zusatzinfos" cols="20" rows="5">
|
||||
</textarea>
|
||||
<br>
|
||||
<input type="submit" value="Starte Upload">
|
||||
</form>
|
||||
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
class Thumb {
|
||||
function thumbnail_erstellen() {
|
||||
$bv = "images";
|
||||
$vb = "thumb";
|
||||
$verzeichnis = opendir($bv);
|
||||
$bilder = array();
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
if ((preg_match("/\.jpe?g$/i", $datei)) || (preg_match("/\.png$/i", $datei))) {
|
||||
$bilder[] = $datei;
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
$verzeichnis = opendir($vb);
|
||||
|
||||
//Schleife, bis alle Files im Verzeichnis ausgelesen wurden
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
//Oft werden auch die Standardordner . und .. ausgelesen, diese sollen ignoriert werden
|
||||
if ($datei != "." AND $datei != "..") {
|
||||
//Files vom Server entfernen
|
||||
@unlink("$vb/$datei");
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
|
||||
foreach ($bilder as $bild) {
|
||||
if (preg_match("/\.png$/i", $bild)) {
|
||||
|
||||
$b = imagecreatefrompng("$bv/$bild");
|
||||
} else {
|
||||
$b = imagecreatefromjpeg("$bv/$bild");
|
||||
}
|
||||
|
||||
$originalbreite = imagesx($b);
|
||||
$originalhoehe = imagesy($b);
|
||||
$neuebreite = 120;
|
||||
$neuehoehe = floor($originalhoehe * ($neuebreite / $originalbreite));
|
||||
$neuesbild = imagecreatetruecolor($neuebreite, $neuehoehe);
|
||||
imagecopyresampled($neuesbild, $b, 0, 0, 0, 0, $neuebreite, $neuehoehe, $originalbreite, $originalhoehe);
|
||||
imagejpeg($neuesbild, "$vb/$bild");
|
||||
imagedestroy($neuesbild);
|
||||
}
|
||||
}
|
||||
|
||||
function thumbnail_anzeigen() {
|
||||
$bv = "thumb";
|
||||
$verzeichnis = opendir($bv);
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
if ((preg_match("/\.jpe?g$/i", $datei)) || (preg_match("/\.png$/i", $datei))) {
|
||||
echo "<div class='thumb'><a class='hlink_klein'
|
||||
href='index.php?rezepte=$datei'>Rezepte anzeigen</a><br>
|
||||
<a class='hlink_nix' href='index.php?details=$datei'>
|
||||
<img class='thumb_bild' src='$bv/$datei' " .
|
||||
"alt='Vorschaubild $datei'></a></div> ";
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
}
|
||||
|
||||
public function __construct() {
|
||||
echo '<h1>Vorschau der Zutaten</h1>'.
|
||||
'<h5>Mit einem Klick auf ein Bild erhalten Sie '.
|
||||
'mehr Informationen und Sie können einen '.
|
||||
'Rezeptvorschlag abgeben.</h5>'.'<div id="vorschauber">';
|
||||
$this -> thumbnail_erstellen();
|
||||
$this -> thumbnail_anzeigen();
|
||||
echo '</div><h2>Details</h2>' .'<div id="detailbereich"></div>';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
new Thumb();
|
||||
?>
|
||||
@@ -0,0 +1,75 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Vorschau</title>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="lib/css/stil.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Vorschau</h1>
|
||||
<?php
|
||||
class Thumb {
|
||||
function thumbnail_erstellen() {
|
||||
$bv = "images";
|
||||
$vb = "thumb";
|
||||
$verzeichnis = opendir($bv);
|
||||
$bilder = array();
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
if ((preg_match("/\.jpe?g$/i", $datei)) || (preg_match("/\.png$/i", $datei))) {
|
||||
$bilder[] = $datei;
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
$verzeichnis = opendir($vb);
|
||||
|
||||
|
||||
//Schleife, bis alle Files im Verzeichnis ausgelesen wurden
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
//Oft werden auch die Standardordner . und .. ausgelesen, diese sollen ignoriert werden
|
||||
if ($datei != "." AND $datei != "..") {
|
||||
//Files vom Server entfernen
|
||||
@unlink("$vb/$datei");
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
|
||||
foreach ($bilder as $bild) {
|
||||
if (preg_match("/\.png$/i", $bild)) {
|
||||
|
||||
$b = imagecreatefrompng("$bv/$bild");
|
||||
} else {
|
||||
$b = imagecreatefromjpeg("$bv/$bild");
|
||||
}
|
||||
|
||||
$originalbreite = imagesx($b);
|
||||
$originalhoehe = imagesy($b);
|
||||
$neuebreite = 120;
|
||||
$neuehoehe = floor($originalhoehe * ($neuebreite / $originalbreite));
|
||||
$neuesbild = imagecreatetruecolor($neuebreite, $neuehoehe);
|
||||
imagecopyresampled($neuesbild, $b, 0, 0, 0, 0, $neuebreite, $neuehoehe, $originalbreite, $originalhoehe);
|
||||
imagejpeg($neuesbild, "$vb/$bild");
|
||||
imagedestroy($neuesbild);
|
||||
}
|
||||
}
|
||||
|
||||
function thumbnail_anzeigen() {
|
||||
$bv = "thumb";
|
||||
$verzeichnis = opendir($bv);
|
||||
while (($datei = readdir($verzeichnis)) !== false) {
|
||||
if (preg_match("/\.jpe?g$/i", $datei)) {
|
||||
echo "<a href=''><img src='$bv/$datei' " . "alt='Vorschaubild'></a> ";
|
||||
|
||||
}
|
||||
}
|
||||
closedir($verzeichnis);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$obj = new Thumb();
|
||||
|
||||
$obj -> thumbnail_erstellen();
|
||||
$obj -> thumbnail_anzeigen();
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
class WertUpdate {
|
||||
public function __construct($feld, $id_mitglied) {
|
||||
@include ("db.inc.php");
|
||||
$sql = "SELECT $feld FROM mitglieder " . "WHERE id_mitglied = $id_mitglied";
|
||||
if ($stmt = $pdo->prepare ( $sql1 )) {
|
||||
$stmt->execute ();
|
||||
|
||||
while ($row = $stmt->fetch ()) {
|
||||
$wert = $row [$feld];
|
||||
}
|
||||
}
|
||||
|
||||
$wert += 1;
|
||||
|
||||
$sql2 = "UPDATE mitglieder SET $feld = $wert " . "WHERE id_mitglied = $id_mitglied";
|
||||
if ($stmt = $pdo->prepare ( $sql2 )) {
|
||||
$stmt->execute ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<buildpath>
|
||||
<buildpathentry kind="src" path=""/>
|
||||
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
|
||||
</buildpath>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Datasource local storage ignored files
|
||||
/../../../../../../:\xampp\htdocs\ysqlc\kursverwaltung\.idea/dataSources/
|
||||
/dataSources.local.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
|
||||
</state>
|
||||
</component>
|
||||
Generated
+11
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="kursverwaltung@localhost" uuid="906f583d-2102-4de7-ad02-26f518a73ded">
|
||||
<driver-ref>mariadb</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>org.mariadb.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mariadb://localhost:3306/kursverwaltung</jdbc-url>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
File diff suppressed because it is too large
Load Diff
+2
@@ -0,0 +1,2 @@
|
||||
#n:information_schema
|
||||
!<md> [null, 0, null, null, -2147483648, -2147483648]
|
||||
Generated
+14
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="PublishConfigData" serverName="kursstorm">
|
||||
<serverData>
|
||||
<paths name="kursstorm">
|
||||
<serverdata>
|
||||
<mappings>
|
||||
<mapping local="$PROJECT_DIR$" web="ysqlc/kursverwaltung" />
|
||||
</mappings>
|
||||
</serverdata>
|
||||
</paths>
|
||||
</serverData>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/kursverwaltung.iml" filepath="$PROJECT_DIR$/.idea/kursverwaltung.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>kursverwaltung</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.dltk.core.scriptbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.php.core.PHPNature</nature>
|
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -0,0 +1,4 @@
|
||||
eclipse.preferences.version=1
|
||||
include_path=0;/kursverwaltung
|
||||
phpVersion=php7.1
|
||||
use_asp_tags_as_php=false
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<faceted-project>
|
||||
<fixed facet="php.component"/>
|
||||
<fixed facet="php.core.component"/>
|
||||
<installed facet="php.core.component" version="1"/>
|
||||
<installed facet="php.component" version="7.1"/>
|
||||
</faceted-project>
|
||||
@@ -0,0 +1,84 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Buchung bearbeiten</title>
|
||||
<?php
|
||||
require_once("buchung.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
$buchung = new buchung();
|
||||
|
||||
if (isset($_POST["mode"])) {
|
||||
|
||||
if($_POST["mode"] == "null"){
|
||||
$buchung->anlegen();
|
||||
}
|
||||
else {
|
||||
$buchung->bearbeiten();
|
||||
}
|
||||
|
||||
header("refresh:3;url=buchung.php");
|
||||
}
|
||||
else {
|
||||
|
||||
?>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
|
||||
$tData = array();
|
||||
|
||||
if (isset($_GET["bnummer"])) {
|
||||
$tData = $buchung->lesenDatensatz($_GET["bnummer"]);
|
||||
$bnummer = $_GET["bnummer"];
|
||||
?>
|
||||
|
||||
<form action="" method="POST">
|
||||
<input type="hidden" id="mode" name="mode"
|
||||
value="<?php echo $bnummer; ?>">
|
||||
<label for="bnummer">Buchungsnummer: </label>
|
||||
<input type="text" id="bnummer" name="bnummer"
|
||||
value="<?php echo $bnummer; ?>" disabled>
|
||||
<br>
|
||||
<label for="termnr">Termin: </label>
|
||||
<?php echo $buchung->einfuegenSelect("termine", "termnr", "beginn", $tData['termnr']); ?>
|
||||
<br>
|
||||
<label for="tnummer">Teilnehmer: </label>
|
||||
<?php echo $buchung->einfuegenSelect("teilnehmer", "tnummer", "name", $tData['tnummer']); ?>
|
||||
<br>
|
||||
<p><input type="submit" value="Änderung speichern">
|
||||
</p>
|
||||
</form>
|
||||
<p><a class="button" href="bloeschen.php?bnummer=<?php echo $bnummer; ?>">Buchung löschen</a></p>
|
||||
<?php
|
||||
}
|
||||
else {
|
||||
?>
|
||||
<form action="bbearbeiten.php" method="POST">
|
||||
<input type="hidden" id="mode" name="mode" value="null">
|
||||
<label for="bnummer">Buchungsnummer: </label>
|
||||
<input type="text" id="bnummer" name="bnummer" value="AUTO" disabled>
|
||||
<br>
|
||||
<label for="termnr">Termin: </label>
|
||||
<?php echo $buchung->einfuegenSelect("termine", "termnr", "beginn", NULL); ?>
|
||||
<br>
|
||||
<label for="tnummer">Teilnehmer: </label>
|
||||
<?php echo $buchung->einfuegenSelect("teilnehmer", "tnummer", "name", NULL); ?>
|
||||
<br>
|
||||
<p><input type="submit" value="Änderung speichern"></p>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Buchung löschen</title>
|
||||
<?php
|
||||
require_once("buchung.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
if(isset($_GET["bnummer"])) {
|
||||
$buchung = new buchung();
|
||||
$buchung -> loeschen($_GET["bnummer"]);
|
||||
echo "<h2>Buchung gelöscht</h2>";
|
||||
}
|
||||
header("refresh:3; url=buchung.php");
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,163 @@
|
||||
<?php
|
||||
|
||||
class Buchung
|
||||
{
|
||||
|
||||
private $tabelle = "buchung";
|
||||
|
||||
public function loeschen($id)
|
||||
{
|
||||
require ("db.inc.php");
|
||||
$sql = "DELETE FROM $this->tabelle WHERE bnummer = :bnummer";
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$stmt->bindParam(':bnummer', $id);
|
||||
$stmt->execute();
|
||||
}
|
||||
}
|
||||
|
||||
public function anlegen()
|
||||
{
|
||||
require ("db.inc.php");
|
||||
|
||||
$bnummer = NULL;
|
||||
$termnr = $_POST["termnr"];
|
||||
$tnummer = $_POST["tnummer"];
|
||||
|
||||
$sql = "INSERT INTO $this->tabelle (bnummer,
|
||||
termnr,
|
||||
tnummer)
|
||||
VALUES (:bnummer, :termnr, :tnummer)";
|
||||
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$param = array(
|
||||
':bnummer' => $bnummer,
|
||||
':termnr' => $termnr,
|
||||
':tnummer' => $tnummer
|
||||
);
|
||||
|
||||
if ($stmt->execute($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
} else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function bearbeiten()
|
||||
{
|
||||
require ("db.inc.php");
|
||||
|
||||
$bnummer = $_POST["mode"];
|
||||
$termnr = $_POST["termnr"];
|
||||
$tnummer = $_POST["tnummer"];
|
||||
|
||||
$sql = "UPDATE " . $this->tabelle . " SET termnr = :termnr, tnummer = :tnummer WHERE bnummer = :bnummer";
|
||||
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$param = array(
|
||||
':bnummer' => $bnummer,
|
||||
':termnr' => $termnr,
|
||||
':tnummer' => $tnummer
|
||||
);
|
||||
|
||||
if ($stmt->execute($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
} else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function lesenDatensatz($id)
|
||||
{
|
||||
require ("db.inc.php");
|
||||
if ($stmt = $pdo->prepare("SELECT buchung.bnummer,
|
||||
termine.termnr,
|
||||
kurs.titel,
|
||||
dozenten.name,
|
||||
termine.beginn,
|
||||
termine.ende,
|
||||
teilnehmer.tnummer,
|
||||
teilnehmer.name,
|
||||
teilnehmer.vname
|
||||
FROM $this->tabelle
|
||||
JOIN termine ON buchung.termnr = termine.termnr
|
||||
JOIN teilnehmer ON buchung.tnummer = teilnehmer.tnummer
|
||||
JOIN kurs ON termine.kursnr = kurs.kursnr
|
||||
JOIN dozenten ON termine.doznr = dozenten.doznr
|
||||
WHERE bnummer=:bnummer")) {
|
||||
$stmt->bindParam(':bnummer', $id);
|
||||
$stmt->execute();
|
||||
//$z = $stmt->fetch(PDO::FETCH_OBJ);
|
||||
//echo "<pre>", var_dump($z), "</pre>";
|
||||
return ($stmt->fetch(PDO::FETCH_ASSOC));
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function lesenAlleDaten()
|
||||
{
|
||||
$sql = "SELECT buchung.bnummer,
|
||||
kurs.titel As kursTitel,
|
||||
dozenten.name As dozentenName,
|
||||
termine.beginn,
|
||||
termine.ende,
|
||||
teilnehmer.name As teilnehmerName,
|
||||
teilnehmer.vname As teilnehmerVorname
|
||||
FROM buchung
|
||||
JOIN termine ON buchung.termnr = termine.termnr
|
||||
JOIN teilnehmer ON buchung.tnummer = teilnehmer.tnummer
|
||||
JOIN kurs ON termine.kursnr = kurs.kursnr
|
||||
JOIN dozenten ON termine.doznr = dozenten.doznr
|
||||
ORDER BY buchung.bnummer";
|
||||
|
||||
$this->baueBuchungTabelle($sql);
|
||||
}
|
||||
|
||||
private function baueBuchungTabelle($sql)
|
||||
{
|
||||
require ("db.inc.php");
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$stmt->execute();
|
||||
echo "<table id=\"zebra\">\n\t";
|
||||
echo "<thead><tr><th>Nummer</th><th>Kurs</th><th>Dozent</th><th>Beginn</th><th>Ende</th><th>Name</th><th>Vorname</th><th>Bearbeiten</th></tr></thead>";
|
||||
echo "<tbody>\n\t";
|
||||
$count = 0;
|
||||
while ($z = $stmt->fetch()) {
|
||||
$count += 1;
|
||||
$zebratyp = "ungerade";
|
||||
echo "<tr ";
|
||||
if ($count % 2 == 0) {
|
||||
$zebratyp = "gerade";
|
||||
}
|
||||
echo "class=\"" . $zebratyp . "\">\n\t<td>" . htmlspecialchars($z['bnummer']) . "</td>\n\t<td>" . htmlspecialchars($z['kursTitel']) . "</td>\n\t<td>" . htmlspecialchars($z['dozentenName']) . "</td>\n\t<td>" . htmlspecialchars($z['beginn']) . "</td>\n\t<td>" . htmlspecialchars($z['ende']) . "</td>\n\t<td>" . htmlspecialchars($z['teilnehmerName']) . "</td>\n\t<td>" . htmlspecialchars($z['teilnehmerVorname']) . "</td>\n\t<td>" . "<a href=\"bbearbeiten.php?bnummer=" . htmlspecialchars($z['bnummer']) . "\">bearbeiten</a>" . "</td>\n</tr>";
|
||||
}
|
||||
echo "</tbody>\n</table>\n";
|
||||
}
|
||||
}
|
||||
|
||||
public function einfuegenSelect($tab, $val, $text, $def)
|
||||
{
|
||||
$s = "<select name=\"" . $val . "\" id=\"" . $val . "\">";
|
||||
|
||||
require ("db.inc.php");
|
||||
$sql = "SELECT " . $val . ", " . $text . " FROM " . $tab;
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
|
||||
$stmt->execute();
|
||||
while ($z = $stmt->fetch()) {
|
||||
$s = $s . "<option value=\"" . $z[0] . "\"";
|
||||
if ($z[0] == $def) {
|
||||
$s = $s . " selected";
|
||||
}
|
||||
$s = $s . ">" . $z[0] . " | " . $z[1] . "</option>";
|
||||
}
|
||||
$s = $s . "</select>";
|
||||
return $s;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Buchungen ausgeben</title>
|
||||
<?php
|
||||
require_once("buchung.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
<h1>Buchungen</h1>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
$buchung = new buchung();
|
||||
$buchung -> lesenAlleDaten();
|
||||
?>
|
||||
</div>
|
||||
<p><a class="button" href="bbearbeiten.php">Neue Buchung anlegen</a></p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
try {
|
||||
$pdo = new PDO ( 'mysql:dbname=kursverwaltung;host=localhost;charset=utf8', 'root', 'Feuerwehr1!' );
|
||||
//$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
//$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
|
||||
} catch ( PDOException $e ) {
|
||||
die ( $e->getMessage () );
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Dozent bearbeiten</title>
|
||||
<?php
|
||||
require_once("dozenten.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
<?php
|
||||
$dozent = new dozent();
|
||||
if (isset($_POST["mode"])) {
|
||||
if($_POST["mode"] == "null"){
|
||||
$dozent->anlegen($_POST);
|
||||
}
|
||||
else {
|
||||
$dozent->bearbeiten($_POST);
|
||||
}
|
||||
header("refresh:3;url=dozenten.php");
|
||||
}
|
||||
else {
|
||||
?>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
|
||||
$tData = array();
|
||||
|
||||
if (isset($_GET["doznr"])) {
|
||||
$tData = $dozent->lesenDatensatz($_GET["doznr"]);
|
||||
$doznr = $_GET["doznr"];
|
||||
?>
|
||||
|
||||
<form action="dbearbeiten.php" method="POST">
|
||||
<input type="hidden" id="mode" name="mode" value="<?php echo $doznr; ?>">
|
||||
<label for="doznr">Dozentnummer: </label><input type="text" id="doznr" name="doznr" value="<?php echo $doznr; ?>" disabled><br>
|
||||
<label for="name">Name: </label><input type="text" id="name" name="name" value="<?php echo $tData['name']; ?>"><br>
|
||||
<label for="vname">Vorname: </label><input type="text" id="vname" name="vname" value="<?php echo $tData['vname']; ?>"><br>
|
||||
<label for="plz">Postleitzahl: </label><input type="text" id="plz" name="plz" value="<?php echo $tData['plz']; ?>"><br>
|
||||
<label for="plz">Ort: </label><input type="text" id="ort" name="ort" value="<?php echo $tData['ort']; ?>"><br>
|
||||
<label for="plz">Straße: </label><input type="text" id="strasse" name="strasse" value="<?php echo $tData['strasse']; ?>"><br>
|
||||
<label for="hausnr">Hausnummer: </label><input type="text" id="hausnr" name="hausnr" value="<?php echo $tData['hausnr']; ?>"><br>
|
||||
<label for="telefon1">Telefon 1: </label><input type="text" id="telefon1" name="telefon1" value="<?php echo $tData['telefon1']; ?>"><br>
|
||||
<label for="telefon2">Telefon 2: </label><input type="text" id="telefon2" name="telefon2" value="<?php echo $tData['telefon2']; ?>"><br>
|
||||
<label for="email">E-Mail: </label><input type="text" id="email" name="email" value="<?php echo $tData['email']; ?>">
|
||||
<p><input type="submit" value="Änderung speichern"></p>
|
||||
</form>
|
||||
|
||||
<p><a class="button" href="dloeschen.php?doznr=<?php echo $doznr; ?>">Dozent löschen</a></p>
|
||||
<?php
|
||||
}
|
||||
else {
|
||||
?>
|
||||
|
||||
<form action="dbearbeiten.php" method="POST">
|
||||
<input type="hidden" id="mode" name="mode" value="null">
|
||||
<label for="doznr">Dozentnummer: </label><input type="text" id="doznr" name="doznr" value="AUTO" disabled><br>
|
||||
<label for="name">Name: </label><input type="text" id="name" name="name" value=""><br>
|
||||
<label for="vname">Vorname: </label><input type="text" id="vname" name="vname" value=""><br>
|
||||
<label for="plz">Postleitzahl: </label><input type="text" id="plz" name="plz" value=""><br>
|
||||
<label for="plz">Ort: </label><input type="text" id="ort" name="ort" value=""><br>
|
||||
<label for="plz">Straße: </label><input type="text" id="strasse" name="strasse" value=""><br>
|
||||
<label for="hausnr">Hausnummer: </label><input type="text" id="hausnr" name="hausnr" value=""><br>
|
||||
<label for="telefon1">Telefon 1: </label><input type="text" id="telefon1" name="telefon1" value=""><br>
|
||||
<label for="telefon2">Telefon 2: </label><input type="text" id="telefon2" name="telefon2" value=""><br>
|
||||
<label for="email">E-Mail: </label><input type="text" id="email" name="email" value=""><br>
|
||||
<input type="submit" value="Änderung speichern">
|
||||
</form>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta charset="utf-8">
|
||||
<title>Dozent löschen</title>
|
||||
<?php
|
||||
require_once("dozenten.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
|
||||
<?php
|
||||
if(isset($_GET["doznr"])) {
|
||||
$dozent = new dozent();
|
||||
$dozent -> loeschen($_GET["doznr"]);
|
||||
echo "<h2>Dozent gelöscht</h2>";
|
||||
}
|
||||
header("refresh:3; url=dozenten.php");
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,158 @@
|
||||
<?php
|
||||
class Dozent {
|
||||
private $tabelle = "dozenten";
|
||||
public function loeschen($id) {
|
||||
require ("db.inc.php");
|
||||
$sql = "DELETE FROM " . $this->tabelle . " WHERE doznr = :doznr";
|
||||
if ($stmt = $pdo->prepare ( $sql )) {
|
||||
$stmt->bindParam ( ':doznr', $id );
|
||||
$stmt->execute ();
|
||||
}
|
||||
}
|
||||
public function anlegen($felder) {
|
||||
require ("db.inc.php");
|
||||
|
||||
$doznr = NULL;
|
||||
$name = $felder ["name"];
|
||||
$vname = $felder ["vname"];
|
||||
$plz = $felder ["plz"];
|
||||
$ort = $felder ["ort"];
|
||||
$strasse = $felder ["strasse"];
|
||||
$hausnr = $felder ["hausnr"];
|
||||
$telefon1 = $felder ["telefon1"];
|
||||
$telefon2 = $felder ["telefon2"];
|
||||
$email = $felder ["email"];
|
||||
$sql = "INSERT INTO " . $this->tabelle . " (doznr,
|
||||
name,
|
||||
vname,
|
||||
plz,
|
||||
ort,
|
||||
strasse,
|
||||
hausnr,
|
||||
telefon1,
|
||||
telefon2,
|
||||
email)
|
||||
VALUES (
|
||||
:doznr,
|
||||
:name,
|
||||
:vname,
|
||||
:plz,
|
||||
:ort,
|
||||
:strasse,
|
||||
:hausnr,
|
||||
:telefon1,
|
||||
:telefon2,
|
||||
:email)";
|
||||
|
||||
if ($stmt = $pdo->prepare ( $sql )) {
|
||||
$param = array (
|
||||
':doznr' => $doznr,
|
||||
':name' => $name,
|
||||
':vname' => $vname,
|
||||
':plz' => $plz,
|
||||
':ort' => $ort,
|
||||
':strasse' => $strasse,
|
||||
':hausnr' => $hausnr,
|
||||
':telefon1' => $telefon1,
|
||||
':telefon2' => $telefon2,
|
||||
':email' => $email
|
||||
);
|
||||
|
||||
if ($stmt->execute ($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
} else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
public function bearbeiten($felder) {
|
||||
require ("db.inc.php");
|
||||
|
||||
$doznr = $felder ["mode"];
|
||||
$name = $felder ["name"];
|
||||
$vname = $felder ["vname"];
|
||||
$plz = $felder ["plz"];
|
||||
$ort = $felder ["ort"];
|
||||
$strasse = $felder ["strasse"];
|
||||
$hausnr = $felder ["hausnr"];
|
||||
$telefon1 = $felder ["telefon1"];
|
||||
$telefon2 = $felder ["telefon2"];
|
||||
$email = $felder ["email"];
|
||||
|
||||
$sql = "UPDATE ". $this->tabelle . " SET
|
||||
name = :name,
|
||||
vname = :vname,
|
||||
plz = :plz,
|
||||
ort = :ort,
|
||||
strasse = :strasse,
|
||||
hausnr = :hausnr,
|
||||
telefon1 = :telefon1,
|
||||
telefon2 = :telefon2,
|
||||
email = :email
|
||||
WHERE doznr = :doznr";
|
||||
|
||||
if ($stmt = $pdo->prepare ( $sql )) {
|
||||
$param = array (
|
||||
':doznr' => $doznr,
|
||||
':name' => $name,
|
||||
':vname' => $vname,
|
||||
':plz' => $plz,
|
||||
':ort' => $ort,
|
||||
':strasse' => $strasse,
|
||||
':hausnr' => $hausnr,
|
||||
':telefon1' => $telefon1,
|
||||
':telefon2' => $telefon2,
|
||||
':email' => $email);
|
||||
|
||||
if ($stmt->execute ($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
} else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
public function lesenDatensatz($id) {
|
||||
require ("db.inc.php");
|
||||
if ($stmt = $pdo->prepare ( "SELECT name, vname, plz, ort, strasse, hausnr, telefon1, telefon2, email FROM " . $this->tabelle . " WHERE doznr=:doznr" )) {
|
||||
$stmt->bindParam ( ':doznr', $id );
|
||||
$stmt->execute ();
|
||||
return ($stmt ->fetch(PDO::FETCH_ASSOC));
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function lesenAlleDaten() {
|
||||
require_once ("db.inc.php");
|
||||
if ($stmt = $pdo->prepare ( "SELECT doznr, name, vname, plz, ort, strasse, hausnr, telefon1, telefon2, email FROM " . $this->tabelle . " ORDER BY name" )) {
|
||||
$stmt->execute ();
|
||||
echo "<table id=\"zebra\">\n\t";
|
||||
echo "<thead><tr><th>Nummer</th><th>Name</th><th>Vorname</th><th>Plz</th><th>Ort</th><th>Straße</th><th>Haus-Nr.</th><th>Telefon 1</th><th>Telefon 2</th><th>E-Mail</th><th>Bearbeiten</th></tr></thead>";
|
||||
echo "<tbody>\n\t";
|
||||
$count = 0;
|
||||
while ( $z = $stmt->fetch () ) {
|
||||
$count += 1;
|
||||
$zebratyp = "ungerade";
|
||||
echo "<tr ";
|
||||
if ($count % 2 == 0) {
|
||||
$zebratyp = "gerade";
|
||||
}
|
||||
echo "class=\"" . $zebratyp . "\">\n\t<td>"
|
||||
. htmlspecialchars ( $z['doznr'])
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['name'])
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['vname'] )
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['plz'])
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['ort'] )
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['strasse'])
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['hausnr'] )
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['telefon1'])
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['telefon2'] )
|
||||
. "</td>\n\t<td>" . htmlspecialchars ( $z['email'] )
|
||||
. "</td>\n\t<td>" . "<a href=\"dbearbeiten.php?doznr=" . htmlspecialchars ( $z['doznr'] ) . "\">bearbeiten</a>" . "</td>\n</tr>";
|
||||
}
|
||||
echo "</tbody>\n</table>\n";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Dozenten ausgeben</title>
|
||||
<?php
|
||||
require_once("dozenten.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
<h1>Dozenten</h1>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
$dozent = new dozent();
|
||||
$dozent->lesenAlleDaten();
|
||||
?>
|
||||
</div>
|
||||
<p><a class="button" href="dbearbeiten.php">Neuen Dozenten anlegen</a></p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Kursverwaltung</title>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
<h1>Kursverwaltung</h1>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,77 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Kurs bearbeiten</title>
|
||||
<?php
|
||||
require_once("kurs.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
|
||||
$kurs = new kurs();
|
||||
|
||||
if (isset($_POST["mode"])) {
|
||||
|
||||
if($_POST["mode"] == "null"){
|
||||
$kurs->anlegen($_POST);
|
||||
}
|
||||
else {
|
||||
$kurs->bearbeiten($_POST);
|
||||
}
|
||||
|
||||
header("refresh:3;url=kurse.php");
|
||||
}
|
||||
else {
|
||||
|
||||
?>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
|
||||
$tData = array();
|
||||
|
||||
if (isset($_GET["kursnr"])) {
|
||||
$tData = $kurs->lesenDatensatz($_GET["kursnr"]);
|
||||
$kursnr = $_GET["kursnr"];
|
||||
?>
|
||||
|
||||
<form action="kbearbeiten.php" method="POST">
|
||||
<input type="hidden" id="mode" name="mode" value="<?php echo $kursnr; ?>">
|
||||
<label for="kursnr">Kursnummer: </label><input type="text" id="kursnr" name="kursnr" value="<?php echo $kursnr; ?>" disabled><br>
|
||||
<label for="ressort">Ressort: </label><input type="text" id="ressort" name="ressort" value="<?php echo $tData['ressort']; ?>"><br>
|
||||
<label for="titel">Titel: </label><input type="text" id="titel" name="titel" value="<?php echo $tData['titel']; ?>"><br>
|
||||
<label for="beschreibung">Beschreibung: </label><input type="text" id="beschreibung" name="beschreibung" value="<?php echo $tData['beschreibung']; ?>"><br>
|
||||
<label for="preis">Preis: </label><input type="text" id="preis" name="preis" value="<?php echo $tData['preis']; ?>"><br>
|
||||
<p><input type="submit" value="Änderung speichern"></p>
|
||||
</form>
|
||||
|
||||
<p><a class="button" href="kloeschen.php?kursnr=<?php echo $kursnr; ?>">Kurs löschen</a></p>
|
||||
<?php
|
||||
}
|
||||
else {
|
||||
?>
|
||||
|
||||
<form action="kbearbeiten.php" method="POST">
|
||||
<input type="hidden" id="mode" name="mode" value="null">
|
||||
<label for="kursnr">Kursnummer: </label><input type="text" id="kursnr" name="kursnr" value="AUTO" disabled><br>
|
||||
<label for="ressort">Ressort: </label><input type="text" id="ressort" name="ressort" value=""><br>
|
||||
<label for="titel">Titel: </label><input type="text" id="titel" name="titel" value=""><br>
|
||||
<label for="beschreibung">Beschreibung: </label><input type="text" id="beschreibung" name="beschreibung" value=""><br>
|
||||
<label for="preis">Preis: </label><input type="text" id="preis" name="preis" value=""><br>
|
||||
<p><input type="submit" value="Änderung speichern"></p>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Kurs löschen</title>
|
||||
<?php
|
||||
require_once("kurs.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
if(isset($_GET["kursnr"])) {
|
||||
$kurs = new kurs();
|
||||
$kurs -> loeschen($_GET["kursnr"]);
|
||||
echo "<h2>Kurs gelöscht</h2>";
|
||||
}
|
||||
header("refresh:3; url=kurse.php");
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,131 @@
|
||||
<?php
|
||||
|
||||
class Kurs {
|
||||
|
||||
private $tabelle = "kurs";
|
||||
|
||||
public function loeschen($id) {
|
||||
require("db.inc.php");
|
||||
$sql = "DELETE FROM " .$this->tabelle ." WHERE kursnr = :kursnr";
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$stmt->bindParam(':kursnr', $id);
|
||||
$stmt -> execute();
|
||||
}
|
||||
}
|
||||
|
||||
public function anlegen($felder) {
|
||||
require("db.inc.php");
|
||||
|
||||
$kursnr = NULL;
|
||||
$ressort = $felder["ressort"];
|
||||
$titel = $felder["titel"];
|
||||
$beschreibung = $felder["beschreibung"];
|
||||
$preis = $felder["preis"];
|
||||
|
||||
$sql = "INSERT INTO " .$this->tabelle ." (kursnr,
|
||||
ressort,
|
||||
titel,
|
||||
beschreibung,
|
||||
preis)
|
||||
VALUES (:kursnr, :ressort, :titel, :beschreibung, :preis)";
|
||||
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$param= array(':kursnr' => $kursnr,
|
||||
':ressort' => $ressort,
|
||||
':titel' => $titel,
|
||||
':beschreibung' => $beschreibung,
|
||||
':preis' => $preis);
|
||||
|
||||
if($stmt -> execute($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
}
|
||||
else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function bearbeiten($felder) {
|
||||
|
||||
require("db.inc.php");
|
||||
|
||||
$kursnr = $felder["mode"];
|
||||
$ressort = $felder["ressort"];
|
||||
$titel = $felder["titel"];
|
||||
$beschreibung = $felder["beschreibung"];
|
||||
$preis = $felder["preis"];
|
||||
|
||||
$sql = "UPDATE " .$this->tabelle ." SET
|
||||
ressort = :ressort,
|
||||
titel = :titel,
|
||||
beschreibung = :beschreibung,
|
||||
preis = :preis
|
||||
WHERE kursnr = :kursnr";
|
||||
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$param= array(':kursnr' => $kursnr,
|
||||
':ressort' => $ressort,
|
||||
':titel' => $titel,
|
||||
':beschreibung' => $beschreibung,
|
||||
':preis' => $preis);
|
||||
|
||||
if($stmt -> execute($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
}
|
||||
else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function lesenDatensatz($id) {
|
||||
require("db.inc.php");
|
||||
if ($stmt = $pdo -> prepare("SELECT ressort, titel, beschreibung, preis FROM " .$this->tabelle ." WHERE kursnr=:kursnr")) {
|
||||
$stmt->bindParam(':kursnr',$id);
|
||||
$stmt -> execute();
|
||||
return($stmt->fetch(PDO::FETCH_ASSOC));
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function lesenAlleDaten() {
|
||||
require_once("db.inc.php");
|
||||
if ($stmt = $pdo -> prepare("SELECT kursnr, ressort, titel, beschreibung, preis FROM " .$this->tabelle ." ORDER BY ressort, titel")) {
|
||||
$stmt -> execute();
|
||||
echo "<table id=\"zebra\">\n\t";
|
||||
echo "<thead><tr><th>Nummer</th><th>Ressort</th><th>Titel</th><th>Beschreibung</th><th>Preis</th><th>Bearbeiten</th></tr></thead>";
|
||||
echo "<tbody>\n\t";
|
||||
$count = 0;
|
||||
while ($z = $stmt -> fetch()) {
|
||||
$count+= 1;
|
||||
$zebratyp = "ungerade";
|
||||
echo "<tr ";
|
||||
if($count % 2 == 0) {
|
||||
$zebratyp = "gerade";
|
||||
}
|
||||
echo "class=\"" .$zebratyp
|
||||
."\">\n\t<td>"
|
||||
. htmlspecialchars($z['kursnr'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['ressort'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['titel'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['beschreibung'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['preis'])
|
||||
."</td>\n\t<td>"
|
||||
."<a href=\"kbearbeiten.php?kursnr=" .htmlspecialchars($z['kursnr']) ."\">bearbeiten</a>"
|
||||
."</td>\n</tr>";
|
||||
}
|
||||
echo "</tbody>\n</table>\n";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Kurse ausgeben</title>
|
||||
<?php
|
||||
require_once("kurs.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
<h1>Kurse</h1>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
$kurs = new kurs();
|
||||
$kurs->lesenAlleDaten();
|
||||
?>
|
||||
</div>
|
||||
<p><a class="button" href="kbearbeiten.php">Neuen Kurs anlegen</a></p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
|
||||
function lesenDatensatz($id, $tabelle)
|
||||
{
|
||||
require_once("db.inc.php");
|
||||
|
||||
|
||||
|
||||
$mysqli->close();
|
||||
}
|
||||
|
||||
function lesenAlleDaten($tabelle)
|
||||
{
|
||||
require_once("db.inc.php");
|
||||
if ($stmt = $mysqli -> prepare("SELECT name, vname, plz, ort, strasse, hausnr, telefon1, email FROM teilnehmer")) {
|
||||
$stmt -> execute();
|
||||
$stmt -> bind_result($name, $vname, $plz, $ort, $strasse, $hausnr, $telefon1, $email);
|
||||
echo "<table id=\"zebra\">\n\t";
|
||||
echo "<tbody>\n\t";
|
||||
$count = 0;
|
||||
while ($stmt -> fetch()) {
|
||||
$count+= 1;
|
||||
$zebratyp = "ungerade";
|
||||
echo "<tr ";
|
||||
if($count % 2 == 0) {
|
||||
$zebratyp = "gerade";
|
||||
}
|
||||
echo "class=\"" .$zebratyp
|
||||
."\">\n\t<td>"
|
||||
. htmlspecialchars($name)
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($vname)
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($plz)
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($ort)
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($strasse)
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($hausnr)
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($telefon1)
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($email)
|
||||
."</td>\n</tr>";
|
||||
}
|
||||
echo "</table>";
|
||||
}
|
||||
|
||||
$stmt -> close();
|
||||
$mysqli->close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div>
|
||||
<a class="button" href="index.php">Kursverwaltung</a>
|
||||
<a class="button" href="teilnehmer.php">Teilnehmer</a>
|
||||
<a class="button" href="termine.php">Termine</a>
|
||||
<a class="button" href="kurse.php">Kurse</a>
|
||||
<a class="button" href="dozenten.php">Dozenten</a>
|
||||
<a class="button" href="buchung.php">Buchung</a>
|
||||
</div>
|
||||
@@ -0,0 +1,82 @@
|
||||
body {
|
||||
background-color: #324873;
|
||||
color: #F2EB80;
|
||||
}
|
||||
|
||||
.button {
|
||||
color: #F2EB80;
|
||||
background-color: #324873;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
min-width: 110px;
|
||||
height: 25px;
|
||||
text-align: center;
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
|
||||
#zebra {
|
||||
color: #F2EB80;
|
||||
border-collapse: collapse;
|
||||
border: 2px solid;
|
||||
border-color: #D94E4E;
|
||||
}
|
||||
#zebra thead {
|
||||
background-color: #F2EB80;
|
||||
color: #324873;
|
||||
}
|
||||
#zebra td {
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
#zebra tbody tr.gerade td {
|
||||
background-color: #A6333D;
|
||||
}
|
||||
|
||||
#zebra tbody tr.ungerade td {
|
||||
background-color: #D96B2B;
|
||||
}
|
||||
|
||||
.ausgabe {
|
||||
|
||||
display: inline-block;
|
||||
margin: 15px 5px 5px 5px;
|
||||
padding: 5px;
|
||||
border-style: groove;
|
||||
border-width: 1pt;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
form {
|
||||
background-color: #324873;
|
||||
color: #F2EB80;
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
|
||||
}
|
||||
|
||||
input {
|
||||
margin: 5px;
|
||||
padding: 2px;
|
||||
border-style: solid;
|
||||
border-width: 1pt;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
min-width: 150px;
|
||||
|
||||
}
|
||||
|
||||
select {
|
||||
margin: 5px;
|
||||
padding: 2px;
|
||||
border-style: solid;
|
||||
border-width: 1pt;
|
||||
border-radius: 5px
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Teilnehmer bearbeiten</title>
|
||||
<?php
|
||||
require_once ("teilnehmer.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once ("navigation.inc.php");
|
||||
?>
|
||||
<?php
|
||||
$teilnehmer = new teilnehmer ();
|
||||
|
||||
if (isset ( $_POST ["mode"] )) {
|
||||
|
||||
if ($_POST ["mode"] == "null") {
|
||||
$teilnehmer->anlegen ( $_POST );
|
||||
}
|
||||
else {
|
||||
$teilnehmer->bearbeiten ( $_POST );
|
||||
}
|
||||
|
||||
header ( "refresh:3;url=teilnehmer.php" );
|
||||
}
|
||||
else {
|
||||
|
||||
?>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
$tData = array ();
|
||||
if (isset ( $_GET ["tnummer"] )) {
|
||||
$tData = $teilnehmer->lesenDatensatz ( $_GET ["tnummer"] );
|
||||
$tnummer = $_GET ["tnummer"];
|
||||
?>
|
||||
|
||||
<form action="" method="POST">
|
||||
<input type="hidden" id="mode" name="mode"
|
||||
value="<?php echo $tnummer; ?>"> <label for="tnummer">Teilnehmernummer:
|
||||
</label> <input type="text" id="tnummer" name="tnummer"
|
||||
value="<?php echo $tnummer; ?>" disabled> <br> <label for="name">Name:
|
||||
</label> <input type="text" id="name" name="name"
|
||||
value="<?php echo $tData['name']; ?>"> <br> <label for="vname">Vorname:
|
||||
</label> <input type="text" id="vname" name="vname"
|
||||
value="<?php echo $tData['vname']; ?>"> <br> <label for="plz">Postleitzahl:
|
||||
</label> <input type="text" id="plz" name="plz"
|
||||
value="<?php echo $tData['plz']; ?>"> <br> <label for="plz">Ort:
|
||||
</label> <input type="text" id="ort" name="ort"
|
||||
value="<?php echo $tData['ort']; ?>"> <br> <label for="plz">Straße:
|
||||
</label> <input type="text" id="strasse" name="strasse"
|
||||
value="<?php echo $tData['strasse']; ?>"> <br> <label
|
||||
for="hausnr">Hausnummer: </label> <input type="text" id="hausnr"
|
||||
name="hausnr" value="<?php echo $tData['hausnr']; ?>"> <br> <label
|
||||
for="telefon1">Telefon 1: </label> <input type="text" id="telefon1"
|
||||
name="telefon1" value="<?php echo $tData['telefon1']; ?>"> <br>
|
||||
<label for="telefon2">Telefon 2: </label> <input type="text"
|
||||
id="telefon2" name="telefon2"
|
||||
value="<?php echo $tData['telefon2']; ?>"> <br> <label
|
||||
for="email">E-Mail: </label> <input type="text" id="email"
|
||||
name="email" value="<?php echo $tData['email']; ?>">
|
||||
<p>
|
||||
<input type="submit" value="Änderung speichern">
|
||||
</p>
|
||||
</form>
|
||||
<p>
|
||||
<a class="button"
|
||||
href="tloeschen.php?tnummer=
|
||||
<?php echo $tnummer; ?>">Teilnehmer löschen </a>
|
||||
</p>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<form action="" method="POST">
|
||||
<input type="hidden" id="mode" name="mode" value="null"> <label
|
||||
for="tnummer">Teilnehmernummer: </label> <input type="text"
|
||||
id="tnummer" name="tnummer" value="AUTO" disabled> <br> <label
|
||||
for="name">Name: </label> <input type="text" id="name" name="name"
|
||||
value=""> <br> <label for="vname">Vorname: </label> <input
|
||||
type="text" id="vname" name="vname" value=""> <br> <label
|
||||
for="plz">Postleitzahl: </label> <input type="text" id="plz"
|
||||
name="plz" value=""> <br> <label for="plz">Ort: </label> <input
|
||||
type="text" id="ort" name="ort" value=""> <br> <label for="plz">Straße:
|
||||
</label> <input type="text" id="strasse" name="strasse" value=""> <br>
|
||||
<label for="hausnr">Hausnummer: </label> <input type="text"
|
||||
id="hausnr" name="hausnr" value=""> <br> <label for="telefon1">Telefon
|
||||
1: </label> <input type="text" id="telefon1" name="telefon1"
|
||||
value=""> <br> <label for="telefon2">Telefon 2: </label> <input
|
||||
type="text" id="telefon2" name="telefon2" value=""> <br> <label
|
||||
for="email">E-Mail: </label> <input type="text" id="email"
|
||||
name="email" value=""> <br> <input type="submit"
|
||||
value="Änderung speichern">
|
||||
</form>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,240 @@
|
||||
<?php
|
||||
class Teilnehmer {
|
||||
|
||||
private $tabelle = "teilnehmer";
|
||||
|
||||
public function lesenDatensatz($id) {
|
||||
require("db.inc.php");
|
||||
$sql = "SELECT name, vname, plz, ort, strasse,
|
||||
hausnr, telefon1, telefon2, email
|
||||
FROM " .$this->tabelle ."
|
||||
WHERE tnummer=:tnummer";
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$stmt->bindParam(':tnummer', $id);
|
||||
$stmt -> execute();
|
||||
return($stmt->fetch(PDO::FETCH_ASSOC));
|
||||
}
|
||||
return(false);
|
||||
}
|
||||
|
||||
public function loeschen($id) {
|
||||
require("db.inc.php");
|
||||
$sql = "DELETE FROM "
|
||||
.$this->tabelle
|
||||
." WHERE tnummer = :tnummer";
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$stmt->bindParam(':tnummer', $id);
|
||||
$stmt -> execute();
|
||||
}
|
||||
}
|
||||
|
||||
public function anlegen() {
|
||||
require("db.inc.php");
|
||||
|
||||
$tnummer = NULL;
|
||||
$name = $_POST["name"];
|
||||
$vname = $_POST["vname"];
|
||||
$plz = $_POST["plz"];
|
||||
$ort = $_POST["ort"];
|
||||
$strasse = $_POST["strasse"];
|
||||
$hausnr = $_POST["hausnr"];
|
||||
$telefon1 = $_POST["telefon1"];
|
||||
$telefon2 = $_POST["telefon2"];
|
||||
$email = $_POST["email"];
|
||||
|
||||
/* $sql = "INSERT INTO " .$this->tabelle ." (
|
||||
tnummer, name, vname,
|
||||
plz, ort, strasse, hausnr,
|
||||
telefon1, telefon2, email)
|
||||
VALUES (
|
||||
:tnummer, :name, :vname,
|
||||
:plz, :ort, :strasse, :hausnr,
|
||||
:telefon1, :telefon2, :email)";
|
||||
|
||||
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$param = array(
|
||||
':tnummer' => $tnummer,
|
||||
':name' => $name,
|
||||
':vname'=>$vname,
|
||||
':plz'=>$plz,
|
||||
':ort'=>$ort,
|
||||
':strasse'=>$strasse,
|
||||
':hausnr'=>$hausnr,
|
||||
':telefon1'=>$telefon1,
|
||||
':telefon2'=>$telefon2,
|
||||
':email'=> $email);
|
||||
*/
|
||||
|
||||
$sql = "INSERT INTO " .$this->tabelle ." (
|
||||
tnummer, name, vname,
|
||||
plz, ort, strasse, hausnr,
|
||||
telefon1, telefon2, email)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$param = array($tnummer, $name, $vname, $plz, $ort, $strasse, $hausnr, $telefon1, $telefon2, $email);
|
||||
if($stmt -> execute($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
}
|
||||
else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function bearbeiten() {
|
||||
require("db.inc.php");
|
||||
|
||||
$tnummer = $_POST["mode"];
|
||||
$name = $_POST["name"];
|
||||
$vname = $_POST["vname"];
|
||||
$plz = $_POST["plz"];
|
||||
$ort = $_POST["ort"];
|
||||
$strasse = $_POST["strasse"];
|
||||
$hausnr = $_POST["hausnr"];
|
||||
$telefon1 = $_POST["telefon1"];
|
||||
$telefon2 = $_POST["telefon2"];
|
||||
$email = $_POST["email"];
|
||||
|
||||
$sql = "UPDATE ". $this->tabelle . " SET
|
||||
name = :name,
|
||||
vname = :vname,
|
||||
plz = :plz,
|
||||
ort = :ort,
|
||||
strasse = :strasse,
|
||||
hausnr = :hausnr,
|
||||
telefon1 = :telefon1,
|
||||
telefon2 = :telefon2,
|
||||
email = :email
|
||||
WHERE tnummer = :tnummer";
|
||||
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$param = array(
|
||||
':tnummer' => $tnummer,
|
||||
':name' => $name,
|
||||
':vname'=>$vname,
|
||||
':plz'=>$plz,
|
||||
':ort'=>$ort,
|
||||
':strasse'=>$strasse,
|
||||
':hausnr'=>$hausnr,
|
||||
':telefon1'=>$telefon1,
|
||||
':telefon2'=>$telefon2,
|
||||
':email'=> $email);
|
||||
|
||||
if($stmt -> execute($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
}
|
||||
else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function lesenAlleDaten() {
|
||||
$sql = "SELECT tnummer, name, vname, plz,
|
||||
ort, strasse, hausnr,
|
||||
telefon1, telefon2, email
|
||||
FROM " .$this->tabelle ."
|
||||
ORDER BY name";
|
||||
$this->baueTeilnehmerTabelle($sql);
|
||||
}
|
||||
|
||||
/*public function suchen() {
|
||||
$sql = "SELECT tnummer, name, vname, plz,
|
||||
ort, strasse, hausnr,
|
||||
telefon1, telefon2, email
|
||||
FROM " .$this->tabelle ."
|
||||
WHERE";
|
||||
$count = 0;
|
||||
foreach($_POST As $feld => $wert) {
|
||||
if(!empty($wert)) {
|
||||
if($count > 0) {
|
||||
$sql = $sql ." AND ";
|
||||
}
|
||||
$count += 1;
|
||||
$sql = $sql ." " .$feld ." LIKE '%" .$wert ."%'";
|
||||
}
|
||||
}
|
||||
$sql = $sql ." ORDER BY name";
|
||||
|
||||
$this->baueTeilnehmerTabelle($sql);
|
||||
} */
|
||||
|
||||
public function suchen() {
|
||||
|
||||
$sql = "SELECT tnummer, name, vname, plz, ort, strasse, hausnr, telefon1, telefon2, email FROM $this->tabelle WHERE";
|
||||
|
||||
$count = 0;
|
||||
foreach ($_POST as $index => $wert) {
|
||||
if (!empty($wert)) {
|
||||
if ($count > 0) {
|
||||
$sql .= " AND ";
|
||||
}
|
||||
$count++;
|
||||
$sql .= " $index LIKE '%".$wert."%'";
|
||||
}
|
||||
}
|
||||
|
||||
$sql .= "ORDER BY tnummer";
|
||||
//echo $sql;
|
||||
$this->baueteilnehmertabelle($sql);
|
||||
}
|
||||
|
||||
private function baueTeilnehmerTabelle($sql) {
|
||||
require_once("db.inc.php");
|
||||
if ($stmt = $pdo -> prepare($sql)) {
|
||||
$stmt -> execute();
|
||||
echo "<table id=\"zebra\">\n\t";
|
||||
echo "<thead>
|
||||
<tr>
|
||||
<th>Nummer</th><th>Name</th><th>Vorname</th><th>Plz</th>
|
||||
<th>Ort</th><th>Straße</th><th>Haus-Nr.</th><th>Telefon 1</th>
|
||||
<th>Telefon 2</th><th>E-Mail</th><th>Bearbeiten</th>
|
||||
</tr>
|
||||
</thead>";
|
||||
echo "<tbody>\n\t";
|
||||
$count = 0;
|
||||
while ($z = $stmt -> fetch()) {
|
||||
//echo "<pre>", print_r($z), "</pre>";
|
||||
$count += 1;
|
||||
$zebratyp = "ungerade";
|
||||
echo "<tr ";
|
||||
if($count % 2 == 0) {
|
||||
$zebratyp = "gerade";
|
||||
}
|
||||
echo "class=\"" .$zebratyp
|
||||
."\">\n\t<td>"
|
||||
. htmlspecialchars($z['tnummer'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['name'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['vname'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['plz'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['ort'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['strasse'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['hausnr'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['telefon1'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['telefon2'])
|
||||
."</td>\n\t<td>"
|
||||
. htmlspecialchars($z['email'])
|
||||
."</td>\n\t<td>"
|
||||
."<a href=\"tbearbeiten.php?tnummer="
|
||||
.htmlspecialchars($z['tnummer'])
|
||||
."\">bearbeiten</a>"
|
||||
."</td>\n</tr>";
|
||||
}
|
||||
echo "</tbody>\n</table>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,27 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Teilnehmerliste ausgeben</title>
|
||||
<?php
|
||||
require_once("teilnehmer.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
<h1>Teilnehmer</h1>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
$teilnehmer = new Teilnehmer();
|
||||
$teilnehmer->lesenAlleDaten();
|
||||
?>
|
||||
</div>
|
||||
<p>
|
||||
<a class="button" href="tbearbeiten.php">Neuen Teilnehmer anlegen</a>
|
||||
<a class="button" href="tsuchen.php">Teilnehmer suchen</a>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,102 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Termin bearbeiten</title>
|
||||
<?php
|
||||
require_once ("termin.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<?php
|
||||
require_once ("navigation.inc.php");
|
||||
$termin = new termin();
|
||||
|
||||
if (isset($_POST["mode"])) {
|
||||
|
||||
if ($_POST["mode"] == "null") {
|
||||
$termin->anlegen($_POST);
|
||||
} else {
|
||||
$termin->bearbeiten($_POST);
|
||||
}
|
||||
|
||||
header("refresh:3;url=termine.php");
|
||||
} else {
|
||||
|
||||
?>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
|
||||
$tData = array();
|
||||
|
||||
if (isset($_GET["termnr"])) {
|
||||
$tData = $termin->lesenDatensatz($_GET["termnr"]);
|
||||
$termnr = $_GET["termnr"];
|
||||
?>
|
||||
<form action="termbearbeiten.php" method="POST">
|
||||
<input type="hidden" id="mode" name="mode"
|
||||
value="<?php echo $termnr; ?>"> <label for="termnr">Terminnummer:
|
||||
</label><input type="text" id="termnr" name="termnr"
|
||||
value="<?php echo $termnr; ?>" disabled><br> <label for="kursnr">Kurs:
|
||||
</label><?php echo $termin->einfSelect("kurs", "kursnr", "titel", $tData['kursnr']); ?><br>
|
||||
<label for="doznr">Dozent: </label><?php echo $termin->einfSelect("dozenten", "doznr", "name", $tData['doznr']); ?><br>
|
||||
<label for="beginn">Beginn: </label><input type="text" id="beginn"
|
||||
name="beginn" value="<?php echo $tData["beginn"]; ?>"><br> <label
|
||||
for="ende">Ende: </label><input type="text" id="ende" name="ende"
|
||||
value="<?php echo $tData["ende"]; ?>"><br> <label for="dauer">Dauer:
|
||||
</label><input type="text" id="dauer" name="dauer"
|
||||
value="<?php echo $tData["dauer"]; ?>"><br> <label
|
||||
for="minanzahl">Min Teilnehmer: </label><input type="text"
|
||||
id="minanzahl" name="minanzahl"
|
||||
value="<?php echo $tData["minanzahl"]; ?>"><br> <label
|
||||
for="maxanzahl">Max Teilnehmer: </label><input type="text"
|
||||
id="maxanzahl" name="maxanzahl"
|
||||
value="<?php echo $tData["maxanzahl"]; ?>"><br> <label
|
||||
for="vort">Raum: </label><input type="text" id="vort" name="vort"
|
||||
value="<?php echo $tData["vort"]; ?>"><br>
|
||||
<p>
|
||||
<input type="submit" value="Änderung speichern">
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<p>
|
||||
<a class="button"
|
||||
href="termloeschen.php?termnr=<?php echo $termnr; ?>">Termin löschen</a>
|
||||
</p>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
|
||||
<form action="termbearbeiten.php" method="POST">
|
||||
<input type="hidden" id="mode" name="mode" value="null"> <label
|
||||
for="termnr">Terminnummer: </label><input type="text" id="termnr"
|
||||
name="termnr" value="AUTO" disabled><br> <label for="kursnr">Kurs:
|
||||
</label><?php echo $termin->einfSelect("kurs", "kursnr", "titel", Null); ?><br>
|
||||
<label for="doznr">Dozent: </label><?php echo $termin->einfSelect("dozenten", "doznr", "name", Null); ?><br>
|
||||
<label for="beginn">Beginn: </label><input type="text" id="beginn"
|
||||
name="beginn" value=""><br> <label for="ende">Ende: </label><input
|
||||
type="text" id="ende" name="ende" value=""><br> <label
|
||||
for="dauer">Dauer: </label><input type="text" id="dauer"
|
||||
name="dauer" value=""><br> <label for="minanzahl">Min
|
||||
Teilnehmer: </label><input type="text" id="minanzahl"
|
||||
name="minanzahl" value=""><br> <label for="maxanzahl">Max
|
||||
Teilnehmer: </label><input type="text" id="maxanzahl"
|
||||
name="maxanzahl" value=""><br> <label for="vort">Raum: </label><input
|
||||
type="text" id="vort" name="vort" value=""><br>
|
||||
<p>
|
||||
<input type="submit" value="Änderung speichern">
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,208 @@
|
||||
<?php
|
||||
|
||||
class Termin
|
||||
{
|
||||
|
||||
private $tabelle = "termine";
|
||||
|
||||
public function loeschen($id)
|
||||
{
|
||||
require ("db.inc.php");
|
||||
$sql = "DELETE FROM " . $this->tabelle . " WHERE termnr = :termnr";
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$stmt->bindParam(':termnr', $id);
|
||||
$stmt->execute();
|
||||
}
|
||||
}
|
||||
|
||||
public function anlegen($felder)
|
||||
{
|
||||
require ("db.inc.php");
|
||||
|
||||
$termnr = NULL;
|
||||
$kursnr = $felder["kursnr"];
|
||||
$doznr = $felder["doznr"];
|
||||
$beginn = $felder["beginn"];
|
||||
$ende = $felder["ende"];
|
||||
$dauer = $felder["dauer"];
|
||||
$minanzahl = $felder["minanzahl"];
|
||||
$maxanzahl = $felder["maxanzahl"];
|
||||
$vort = $felder["vort"];
|
||||
|
||||
$sql = "INSERT INTO " . $this->tabelle . " (termnr,
|
||||
kursnr,
|
||||
doznr,
|
||||
beginn,
|
||||
ende,
|
||||
dauer,
|
||||
minanzahl,
|
||||
maxanzahl,
|
||||
vort)
|
||||
VALUES (:termnr,
|
||||
:kursnr,
|
||||
:doznr,
|
||||
:beginn,
|
||||
:ende,
|
||||
:dauer,
|
||||
:minanzahl,
|
||||
:maxanzahl,
|
||||
:vort)";
|
||||
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$param = array(
|
||||
':termnr' => $termnr,
|
||||
':kursnr' => $kursnr,
|
||||
':doznr' => $doznr,
|
||||
':beginn' => $beginn,
|
||||
':ende' => $ende,
|
||||
':dauer' => $dauer,
|
||||
':minanzahl' => $minanzahl,
|
||||
':maxanzahl' => $maxanzahl,
|
||||
':vort' => $vort
|
||||
);
|
||||
|
||||
if ($stmt->execute($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
} else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function bearbeiten($felder)
|
||||
{
|
||||
require ("db.inc.php");
|
||||
|
||||
$termnr = $felder["mode"];
|
||||
$kursnr = $felder["kursnr"];
|
||||
$doznr = $felder["doznr"];
|
||||
$beginn = $felder["beginn"];
|
||||
$ende = $felder["ende"];
|
||||
$dauer = $felder["dauer"];
|
||||
$minanzahl = $felder["minanzahl"];
|
||||
$maxanzahl = $felder["maxanzahl"];
|
||||
$vort = $felder["vort"];
|
||||
|
||||
$sql = "UPDATE " . $this->tabelle . " SET
|
||||
kursnr = :kursnr,
|
||||
doznr = :doznr,
|
||||
beginn = :beginn,
|
||||
ende = :ende,
|
||||
dauer = :dauer,
|
||||
minanzahl = :minanzahl,
|
||||
maxanzahl = :maxanzahl,
|
||||
vort = :vort
|
||||
WHERE termnr = :termnr";
|
||||
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$param = array(
|
||||
':termnr' => $termnr,
|
||||
':kursnr' => $kursnr,
|
||||
':doznr' => $doznr,
|
||||
':beginn' => $beginn,
|
||||
':ende' => $ende,
|
||||
':dauer' => $dauer,
|
||||
':minanzahl' => $minanzahl,
|
||||
':maxanzahl' => $maxanzahl,
|
||||
':vort' => $vort
|
||||
);
|
||||
|
||||
if ($stmt->execute($param)) {
|
||||
echo "<h2>Datensatz erfolgreich gespeichert!</h2>\n";
|
||||
} else {
|
||||
echo "<h2>Fehler beim Speichern!</h2>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function lesenDatensatz($id)
|
||||
{
|
||||
require ("db.inc.php");
|
||||
if ($stmt = $pdo->prepare("SELECT termine.termnr,
|
||||
termine.kursnr,
|
||||
kurs.titel,
|
||||
termine.doznr,
|
||||
dozenten.name,
|
||||
dozenten.vname,
|
||||
termine.beginn,
|
||||
termine.ende,
|
||||
termine.dauer,
|
||||
termine.minanzahl,
|
||||
termine.maxanzahl,
|
||||
termine.vort
|
||||
FROM termine
|
||||
INNER JOIN kurs ON termine.kursnr = kurs.kursnr
|
||||
INNER JOIN dozenten ON termine.doznr = dozenten.doznr
|
||||
WHERE termnr=:termnr")) {
|
||||
$stmt->bindParam(':termnr', $id);
|
||||
$stmt->execute();
|
||||
return ($stmt->fetch(PDO::FETCH_ASSOC));
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function lesenAlleDaten()
|
||||
{
|
||||
$sql = "SELECT termine.termnr,
|
||||
kurs.titel As kursTitel,
|
||||
dozenten.name As dozentenName,
|
||||
termine.beginn,
|
||||
termine.ende,
|
||||
termine.dauer,
|
||||
termine.minanzahl,
|
||||
termine.maxanzahl,
|
||||
termine.vort
|
||||
FROM termine
|
||||
JOIN kurs ON termine.kursnr = kurs.kursnr
|
||||
JOIN dozenten ON termine.doznr = dozenten.doznr
|
||||
ORDER BY termine.beginn";
|
||||
$this->baueTerminTabelle($sql);
|
||||
}
|
||||
|
||||
private function baueTerminTabelle($sql)
|
||||
{
|
||||
require_once ("db.inc.php");
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$stmt->execute();
|
||||
echo "<table id=\"zebra\">\n\t";
|
||||
echo "<thead><tr><th>Nummer</th><th>Kurs</th><th>Dozent</th><th>Beginn</th><th>Ende</th><th>Dauer</th><th>Min-Teiln</th><th>Max-Teiln</th><th>Raum</th><th>Bearbeiten</th></tr></thead>";
|
||||
echo "<tbody>\n\t";
|
||||
$count = 0;
|
||||
while ($z = $stmt->fetch()) {
|
||||
$count += 1;
|
||||
$zebratyp = "ungerade";
|
||||
echo "<tr ";
|
||||
if ($count % 2 == 0) {
|
||||
$zebratyp = "gerade";
|
||||
}
|
||||
echo "class=\"" . $zebratyp . "\">\n\t<td>" . htmlspecialchars($z['termnr']) . "</td>\n\t<td>" . htmlspecialchars($z['kursTitel']) . "</td>\n\t<td>" . htmlspecialchars($z['dozentenName']) . "</td>\n\t<td>" . htmlspecialchars($z['beginn']) . "</td>\n\t<td>" . htmlspecialchars($z['ende']) . "</td>\n\t<td>" . htmlspecialchars($z['dauer']) . "</td>\n\t<td>" . htmlspecialchars($z['minanzahl']) . "</td>\n\t<td>" . htmlspecialchars($z['maxanzahl']) . "</td>\n\t<td>" . htmlspecialchars($z['vort']) . "</td>\n\t<td>" . "<a href=\"termbearbeiten.php?termnr=" . htmlspecialchars($z['termnr']) . "\">bearbeiten</a>" . "</td>\n</tr>";
|
||||
}
|
||||
echo "</tbody>\n</table>\n";
|
||||
}
|
||||
}
|
||||
|
||||
public function einfSelect($tab, $val, $text, $def)
|
||||
{
|
||||
$s = "<select name=\"" . $val . "\" id=\"" . $val . "\">";
|
||||
|
||||
require ("db.inc.php");
|
||||
$sql = "SELECT " . $val . ", " . $text . " FROM " . $tab;
|
||||
if ($stmt = $pdo->prepare($sql)) {
|
||||
$stmt->execute();
|
||||
while ($z = $stmt->fetch()) {
|
||||
$s = $s . "<option value=\"" . $z[0] . "\"";
|
||||
if ($z[0] == $def) {
|
||||
$s = $s . " selected";
|
||||
}
|
||||
$s = $s . ">" . $z[0] . " | " . $z[1] . "</option>";
|
||||
}
|
||||
$s = $s . "</select>";
|
||||
|
||||
return $s;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Termine ausgeben</title>
|
||||
<?php
|
||||
require_once("termin.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
<h1>Termine</h1>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
$termin = new termin();
|
||||
$termin -> lesenAlleDaten();
|
||||
?>
|
||||
</div>
|
||||
<p><a class="button" href="termbearbeiten.php">Neuen Termin anlegen</a></p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,27 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Termin löschen</title>
|
||||
<?php
|
||||
require_once("termin.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
|
||||
if(isset($_GET["termnr"])) {
|
||||
$termin = new termin();
|
||||
$termin -> loeschen($_GET["termnr"]);
|
||||
echo "<h2>Termin gelöscht</h2>";
|
||||
}
|
||||
header("refresh:3; url=termine.php");
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,23 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Teilnehmer löschen</title>
|
||||
<?php
|
||||
require_once("teilnehmer.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
|
||||
if(isset($_GET["tnummer"])) {
|
||||
$teilnehmer = new teilnehmer();
|
||||
$teilnehmer -> loeschen($_GET["tnummer"]);
|
||||
echo "<h2>Teilnehmer gelöscht</h2>";
|
||||
}
|
||||
header("refresh:3; url=teilnehmer.php");
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Teilnehmer suchen</title>
|
||||
<?php
|
||||
require_once("teilnehmer.class.php");
|
||||
?>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
require_once("navigation.inc.php");
|
||||
?>
|
||||
<div class="ausgabe">
|
||||
<?php
|
||||
$teilnehmer = new teilnehmer();
|
||||
|
||||
if (isset($_POST["tnummer"])) {
|
||||
|
||||
$teilnehmer->suchen();
|
||||
}
|
||||
else {
|
||||
|
||||
?>
|
||||
|
||||
<form action="" method="POST">
|
||||
<label for="tnummer">Teilnehmernummer: </label>
|
||||
<input type="text" id="tnummer" name="tnummer" value="">
|
||||
<br>
|
||||
<label for="name">Name: </label>
|
||||
<input type="text" id="name" name="name" value="">
|
||||
<br>
|
||||
<label for="vname">Vorname: </label>
|
||||
<input type="text" id="vname" name="vname" value="">
|
||||
<br>
|
||||
<label for="plz">Postleitzahl: </label>
|
||||
<input type="text" id="plz" name="plz" value="">
|
||||
<br>
|
||||
<label for="plz">Ort: </label>
|
||||
<input type="text" id="ort" name="ort" value="">
|
||||
<br>
|
||||
<label for="plz">Straße: </label>
|
||||
<input type="text" id="strasse" name="strasse" value="">
|
||||
<br>
|
||||
<label for="hausnr">Hausnummer: </label>
|
||||
<input type="text" id="hausnr" name="hausnr" value="">
|
||||
<br>
|
||||
<label for="telefon1">Telefon 1: </label>
|
||||
<input type="text" id="telefon1" name="telefon1" value="">
|
||||
<br>
|
||||
<label for="telefon2">Telefon 2: </label>
|
||||
<input type="text" id="telefon2" name="telefon2" value="">
|
||||
<br>
|
||||
<label for="email">E-Mail: </label>
|
||||
<input type="text" id="email" name="email" value="">
|
||||
<br>
|
||||
<input type="submit" value="Suchen">
|
||||
</form>
|
||||
|
||||
<?PHP
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user