Uploadfunktion Sowie Bemerkungen und Rezepte und CSS hinzugefügt.

This commit is contained in:
2026-05-24 11:59:46 +00:00
parent ae0d150684
commit 54bfcfea4f
14 changed files with 345 additions and 3 deletions
+39
View File
@@ -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'] );
}
?>
+5 -2
View File
@@ -21,14 +21,14 @@ class Bildspeichern {
(filesize($_FILES['datei']['tmp_name'])
> 100000)) {
echo "Die Dateigr&ouml;&#946;e ist auf " .
"100.000 Byte beschr&auml;nkt.<br>" .
"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&uuml;rfen nur Bilddateien vom Typ" .
echo "Es dürfen nur Bilddateien vom Typ" .
" PNG oder JPEG hochgeladen werden.<br>";
} else if (!empty($_FILES['datei']['name'])) {
$dateiname = $_SESSION["name"] . time();
@@ -67,6 +67,9 @@ class Bildspeichern {
)) {
$dat = "upload_ok.php";
@include("wertupdate.php");
new WertUpdate("fragen",$_SESSION["id_mitglied"]);
} else {
$dat = "upload_fehler.php";
}
+3 -1
View File
@@ -20,6 +20,7 @@ class MeineAusnahme extends Exception{};
<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>
@@ -59,7 +60,8 @@ class MeineAusnahme extends Exception{};
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("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>";
+1
View File
@@ -15,6 +15,7 @@ session_start();
<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>
+1
View File
@@ -10,6 +10,7 @@ if (0 > version_compare(PHP_VERSION, '7')) {
<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>
+1
View File
@@ -9,6 +9,7 @@ if (0 > version_compare(PHP_VERSION, '7')) {
<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>
+1
View File
@@ -15,6 +15,7 @@ if (0 > version_compare(PHP_VERSION, '7')) {
<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>
+49
View File
@@ -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'] );
}
?>
+51
View File
@@ -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'] );
}
}
?>
+59
View File
@@ -0,0 +1,59 @@
<?php
/**
* Start der Session
*/
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</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
/**
* Image2Food
* Das soziale Netzwerk für Kochideen
* Die Fehlerseite bei fehlerhaftem Upload
*/
class UpFehler {
/**
* Fehlermeldung
*
*/
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>
+37
View File
@@ -0,0 +1,37 @@
<?php
/**
* Start der Session
*/
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</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>
+73
View File
@@ -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();
?>
+1
View File
@@ -3,6 +3,7 @@
<head>
<title>Vorschau</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="lib/css/stil.css">
</head>
<body>
<h1>Vorschau</h1>
+24
View File
@@ -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 ();
}
}
}
?>