Hallo, ich habe ein Script in dem man Artikel aus einem Shop bearbeiten kann. Genau geht es darum, dass man in dem Script auch das vorhandene Bild durch ein anderes ersetzen kann, nur funktioniert das gerade nicht soo richtig.
Hier mein Script (update_artikel.php):
PHP-Code:
<?php
include 'checkuser.php';
include '../inc/mysql.php';
error_reporting(E_ALL);
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'>
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 (".htmlspecialchars(stripslashes($row->cat_name), ENT_QUOTES)."):
<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'];
if(empty($err))
{
copy("$tempname","$pfad$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)."', 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]
";
echo $pic_name;
}
?>
In Zeile 29 kan man sich das Bild aussuchen und ab Zeile 50 bis 63 soll es eigentlich verarbeitet bzw. ausgetausch werden. Aber es funktioniert nicht.
Als Fehler kommt:
Notice: Undefined index: file in C:\Programme\xampp\htdocs\saxgirls\admin\update_ar tikel.php on line 52
Notice: Undefined index: file in C:\Programme\xampp\htdocs\saxgirls\admin\update_ar tikel.php on line 53
Notice: Undefined index: file in C:\Programme\xampp\htdocs\saxgirls\admin\update_ar tikel.php on line 54
Notice: Undefined index: file in C:\Programme\xampp\htdocs\saxgirls\admin\update_ar tikel.php on line 55
....also da wo die $_FILES sind