Ich habe ein Formular indem man einen Artikel von einem Shop ändern kann. Das Problem, wenn kein Bild ausgewählt wird, dann so es eine Fehlermeldung ausgeben, dies tut der jetzt aber ständig, also auch wenn eins ausgewählt ist.
Script:
Script:
PHP-Code:
<?php
include 'checkuser.php';
include '../inc/mysql.php';
if (isset($_GET["do"]))
$do = $_GET["do"];
else
$do = "";
if (empty($_POST["name"]))
{
$abfrage = "SELECT * FROM shop_artikel WHERE artikel_id = '$do'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo"
Daten von [b]\"".htmlspecialchars(stripslashes($row->artikel_name), ENT_QUOTES)."\"[/b] ändern
(HTML-Code kann verwendet werden)
<form action='update_artikel.php?do=$do' method='post' enctype='multipart/form-data'>
Name:
<input type='text' name='name' size='30' value='".htmlspecialchars(stripslashes($row->artikel_name), ENT_QUOTES)."'>
Preis:
<input type='text' name='preis' size='30' value='".htmlspecialchars(stripslashes($row->artikel_preis), ENT_QUOTES)."'>
Bild:
[img]../$row->artikel_bild[/img]
<input type='file' name='file' size='30'>
Text:
<textarea cols='80' rows='20' name='text'>".htmlspecialchars(stripslashes($row->artikel_text), ENT_QUOTES)."</textarea>
Kathegorie:
<select size='1' name='cat'>
<option selected>$row->cat_name</option>
";
$abfrage2 = "SELECT * FROM shop_cat";
$ergebnis2 = mysql_query($abfrage2);
while($row = mysql_fetch_object($ergebnis2))
{
echo"<option>$row->cat_name</option>";
}
echo"
</select>
<input type='submit' value='Ändern'>
</form>
<a href='delete_artikel.php?do=$do'>Artikel löschen<a>
";
}
}
else
{
$pfad = "../bilder/artikel/";
$tempname = $_FILES['file']['tmp_name'];
$pic_name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$pfad2 = "bilder/artikel/";
if (empty($file))
{
die ("<font face='arial' size='2'>Du must eine Datei angeben.
[url='index.php?section=update_artikel&do=$do']weiter[/url]");
}
if(empty($err))
{
copy("$tempname","$pfad$pic_name");
$bild = "$pfad2$pic_name";
}
else
{
foreach($err as $error)
echo "$error
";
}
$name = $_POST["name"];
$preis = $_POST["preis"];
$text = $_POST["text"];
$cat = $_POST["cat"];
$eintrag = "UPDATE shop_artikel SET artikel_name='".addslashes($name)."', artikel_preis='".addslashes($preis)."', artikel_text='".addslashes($text)."', artikel_bild='".addslashes($bild)."', cat_name='".addslashes($cat)."' WHERE artikel_id='$do'";
mysql_query($eintrag) or die ("MySQL-Fehler: " . mysql_error());
echo "Die Daten wurden erfolgreich geändert.
[url='index.php?section=update_artikel&do=$do']weiter[/url]
";
}
?>

Kommentar