PHP Bildergalerie - Bilder bearbeiten und löschen
Autor
Flitze
Klicks 161710
Keywords:
PHP Bildergalerie Tutorial, PHP Bildergalerie erstellen, PHP MySQL Bildergalerie, PHP Thumbnails erstellen, PHP Bilder speichern, Tutorial PHP Bildergalerie, Bildergalerie, PHP, MySQL, Verwalten, bearbeiten, löschen
Klicks 161710
Rating für PHP Bildergalerie
7.6 von 10
Bewertungen118
Stand
08.10.2014
7.6 von 10
Bewertungen118
Keywords:
PHP Bildergalerie Tutorial, PHP Bildergalerie erstellen, PHP MySQL Bildergalerie, PHP Thumbnails erstellen, PHP Bilder speichern, Tutorial PHP Bildergalerie, Bildergalerie, PHP, MySQL, Verwalten, bearbeiten, löschen
Breadcrumb:
Workshops » PHP Bildergalerie » PHP Bildergalerie - Bilder bearbeiten und löschen
Bilder bearbeiten und löschen
[ADSENSE_LINE]Beim Bearbeiten und Löschen arbeite ich wieder mit einer per Link übergebenen ID – ergo muss ich diese wieder prüfen. Die Skriptanfänge sehen also genauso sehr ähnlich aus wie in der detail_screen.php.Bilder bearbeiten (edit.php)
PHP:
<?php
error_reporting(E_ALL);
echo "<h1>Bild bearbeiten</h1>\n";
$error = '';
// Prüfen ob ID übergeben wurde und numerisch ist
if(!isset($_GET['id']) OR !is_numeric($_GET['id'])){
$error = "Sie haben kein Foto ausgewählt.<br />\n".
"Bitte benutzen Sie einen Link aus der <a href=\"index.php?s=galerie\">Galerie</a>\n";
}
else{
// $_GET_Wert sichern
$_GET['id'] = (int)mysql_real_escape_string($_GET['id']);
// Prüfen ob ein Foto zur ID existiert
$sql = "SELECT
Name,
Beschreibung
FROM
Fotos
WHERE
ID = '".$_GET['id']."'
";
$result = mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
$anzahl = mysql_num_rows($result);
if(!$anzahl)
$error = "Dieses Foto existiert nicht.<br />\n".
"Bitte benutzen Sie einen Link aus der <a href=\"index.php?s=galerie\">Galerie</a>\n";
}
if($error != '')
echo $error;
else{
if(isset($_POST['submit']) AND $_POST['submit']=='Foto bearbeiten'){
$sql = "UPDATE
Fotos
SET
Beschreibung = '".mysql_real_escape_string(trim($_POST['Beschreibung']))."'
WHERE
ID = '".$_GET['id']."'
";
mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
echo "<p>\n".
"Das Foto wurde bearbeitet<br />\n".
"<a href=\"index.php?s=detail_screen&id=".$_GET['id']."\">Zurück zum Foto</a>\n".
"</p>\n";
}
else{
// Bildname und Beschreibung in $pic speichern
$pic = mysql_fetch_assoc($result);
// Foto zur Kontrolle anzeigen
echo "<img src=\"".PIC_FOLDER.$pic['Name']."\" alt=\"".$pic['Name']."\" />\n";
echo "<br />\n";
// Beschreibung anzeigen
echo "<p>\n".
htmlentities($pic['Beschreibung'], ENT_QUOTES).
"</p>\n";
echo "<form ".
" action=\"index.php?s=edit&id=".$_GET['id']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
echo "<div>\n";
echo "<label for=\"Beschreibung\">Beschreibung</label>\n";
echo "<input id=\"Beschreibung\" name=\"Beschreibung\" type=\"text\" maxlength=\"255\" value=\"".htmlentities($pic['Beschreibung'], ENT_QUOTES)."\" />\n";
echo "<br />\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Foto bearbeiten\" />\n";
echo "</div></form>\n";
}
}
?>
Gibt’s nix zu erklären, ID prüfen, Formular anzeigen, Daten verarbeiten. Nix neues
Deshalb geht’s auch gleich weiter zum Löschen.
Bilder löschen (delete.php)
Hat eigentlich auch nicht mehr zu bieten, Code:PHP:
<?php
error_reporting(E_ALL);
echo "<h1>Bild löschen</h1>\n";
$error = '';
// Prüfen ob ID übergeben wurde und numerisch ist
if(!isset($_GET['id']) OR !is_numeric($_GET['id'])){
$error = "Sie haben kein Foto ausgewählt.<br />\n".
"Bitte benutzen Sie einen Link aus der <a href=\"index.php?s=galerie\">Galerie</a>\n";
}
else{
// $_GET_Wert sichern
$_GET['id'] = (int)mysql_real_escape_string($_GET['id']);
// Prüfen ob ein Foto zur ID existiert
$sql = "SELECT
Name,
Beschreibung
FROM
Fotos
WHERE
ID = '".$_GET['id']."'
";
$result = mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
$anzahl = mysql_num_rows($result);
if(!$anzahl)
$error = "Dieses Foto existiert nicht.<br />\n".
"Bitte benutzen Sie einen Link aus der <a href=\"index.php?s=galerie\">Galerie</a>\n";
}
if($error != '')
echo $error;
else{
if(isset($_POST['submit']) AND $_POST['submit']=='Foto löschen'){
$sql = "SELECT
Name,
Alben_ID
FROM
Fotos
WHERE
ID = '".$_GET['id']."'
";
$result = mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
$row = mysql_fetch_assoc($result);
// Bild vom Server löschen
unlink(PIC_FOLDER.$row['Name']);
// Thumbnail vom Server löschen
unlink(TN_FOLDER."TN".substr($row['Name'],3));
// Bilder aus der Datenbank löschen
$sql = "DELETE FROM
Fotos
WHERE
ID = '".$_GET['id']."'
";
mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
echo "<p>\n".
"Das Foto wurde gelöscht<br />\n".
"<a href=\"index.php?s=overview&id=".$row['Alben_ID']."\">Zurück zum Album</a>\n".
"</p>\n";
}
else{
// Bildname und Beschreibung in $pic speichern
$pic = mysql_fetch_assoc($result);
// Foto zur Kontrolle anzeigen
echo "<img src=\"".PIC_FOLDER.$pic['Name']."\" alt=\"".$pic['Name']."\" />\n";
echo "<br />\n";
// Beschreibung anzeigen
echo "<p>\n".
htmlentities($pic['Beschreibung'], ENT_QUOTES).
"</p>\n";
echo "<form ".
" action=\"index.php?s=delete&id=".$_GET['id']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
echo "<div>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Foto löschen\" />\n";
echo "</div></form>\n";
}
}
?>
ID prüfen, zur Kontrolle das Bild nochmal anzeigen, durch Bestätigen dieses Bild löschen.
Joa, das wärs auch schon. Jetzt können wir Alben erstellen, Bilder drin speichern, uns diese anschaun und bei Bedarf bearbeiten und löschen. Damit sind wir meiner Meinung nach fertig .
Übernehmen würde ich das so allerdings nicht, denn der Workshop ist zum Erklären da und nicht unbedingt auf Usability bedacht. Im Klartext heißt das: Prinzip ist dargestellt, umgesetzt und nachvollziehbar erklärt, schön aussehen tuts aber nicht Außerdem würde ich noch eine Kommentarfunktion ergänzen, die Übersicht im Album in Seiten gliedern, etc… aber das würde einfach den Rahmen sprengen.
Zurück zur vorigen Seite:
PHP Bildergalerie - Bilderausgabe Bewerten