|
 |
|
| Autor |
Nachricht |
oliwol Helfer [User]


Anmeldung: 15.12.05 Beiträge: 181 Wohnort: Berlin
|
Verfasst am: 29.06.2006, 19:50 Titel: Bilder in die Datenbank laden |
|
|
Ok... mir reichts ,wende mich jetzt an euch:
bau momentan einen Onlineshop und mittlerweile funzt auch soweit alles außer im Adminbereich. Ichmöchte gerne noch das Bild zum Produkt hochladen aber irgendwie funzt das nicht.
Mittlerweile bin ich soweit das die Bilder schon mal ins richtige Verzeichnis geladen werden aber nicht in der Datenbank ankommen. Alles andere kommt an.
hier der Code:
| Code: |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Adminbereich-Onlineshop</title>
</head>
<body>
<?php
$uverz="images";
//$_POST['flag']==1, wenn das Formular abgeschickt wurde
if($_POST['flag']==1)
{
//Wenn das Unterverzeichnis noch nicht existiert, dieses anlegen
if(!file_exists($uverz))
{mkdir($uverz,0755);}
//Dateigröße kontrollieren
if($_FILES['pix']['size']>100000)
{$fehlerbild="<br>Der Dateityp ist zu groß";}
//Zulässige Dateitypen kontrollieren
if(!($_FILES['pix']['type'] == 'image/jpeg' OR
$_FILES['pix']['type'] == 'image/gif'))
{$fehlerbild.="<br>Der Dateityp ist nicht zulässig.<br>";}
//Datei speichern, wenn kein Fehler vorliegt
if(!$fehlerbild)
{
//Dateiendung je nach Typ an den Namen anhängen
switch($_FILES['pix']['type'])
{
case 'image/jpeg':
$name.=".jpg";
break;
case 'image/gif':
$name.=".gif";
break;
}
//Den Dateinamen um die Pfadangabe erweitern
$name=$uverz."/".$name;
//Die Datei in das Unterverzeichnis kopieren
copy($_FILES['pix']['tmp_name'], $name);
}
else
{
echo "<h2><font color=red>".$fehlerbild."</font></h2>";}
//testen, ob Felder ausgefüllt sind
if(!$_POST['type'])
{$fehler="Bitte Produkttypen eingeben!<br>";}
if(!$_POST['category'])
{$fehler.="Bitte Kategorie eingeben!<br>";}
if(!$_POST['name'])
{$fehler.="Bitte Produktnamen eingeben!<br>";}
if(!$_POST['description'])
{$fehler.="Bitte eine Beschreibung eingeben!<br>";}
if(!$_POST['price'])
{$fehler.="Bitte einen Preis angeben!<br>";}
//Wenn ein Fehler vorhanden, die Textausgabe formatieren und
//$_POST['flag'] zurücksetzen, damit das Formular erneut
//angezeigt wird
if($fehler)
{
$meldung="<font color=\"red\">".$fehler."</font>";
unset($_POST['flag']);
}
//Es liegt kein Fehler vor, also Speichern der
//Informationen in der Datenbank
else
{
//Verbinden zur Datenbank
$link = mysql_connect("host", "user", "passwort");
mysql_select_db("data", $link);
$tabellenname="tabelle";
//SQL-String zusammenbauen
$sql="INSERT INTO $tabellenname (type, category, name, description, price,
pix) values ( '".mysql_real_escape_string($_POST['type'],
$link)."', '".mysql_real_escape_string($_POST['category'],
$link)."', '".mysql_real_escape_string($_POST['name'], $link).
"', '".mysql_real_escape_string($_POST['description'], $link).
"', '".mysql_real_escape_string($_POST['price'], $link).
"', '".mysql_real_escape_string($_POST['pix'], $link)."')";
//SQL-String an die Datenbank schicken
mysql_query($sql, $link);
$meldung="<font color=\"green\">Das Produkt </font>" .$_POST['name'].
"<font color=\"green\"> wurde erfolgreich eingestellt.</font>";
if(mysql_query($sql, $link)){echo "Datenbankfehler!!";}
//hier kommt noch der link weiter hin wo es dann weiter geht.
}
//Ausgeben der Meldung
echo $meldung;
}
if(!$_POST['flag'])
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="flag" value="1" />
<p>Produkttyp:<br />
<input type="text" name="type" value="<?php echo $_POST['type']; ?>" /></p>
<p>Kategorie:<br />
<input type="text" name="category" value="<?php echo $_POST['category']; ?>" /></p>
<p>Produktname:<br />
<input type="text" name="name" value="<?php echo $_POST['name']; ?>" /></p>
<p>Beschreibung:<br />
<textarea name="description"><?php echo $_POST['description']; ?></textarea></p>
<p>Preis:<br />
<input type="text" name="price" value="<?php echo $_POST['price']; ?>" /> €</p>
<p>Produktbild:<br />
<input type="file" name="pix" value="<?php echo $_POST['pix']; ?>" /></p>
<input type="submit" value="Produkt einsetzen" />
</form>
<?php
}
?>
</body>
</html>
|
Vielleicht sieht ja einer was los ist...
Gruß Oli
|
|
| Nach oben |
|
 |
Metaman Power-Poster [User]


Anmeldung: 20.11.05 Beiträge: 636
|
Verfasst am: 30.06.2006, 17:49 Titel: |
|
|
ganz einfach
du speicherst
$_POST['pix'] in der DB ab.
Allerdings beinhaltet $_POST['pix'] nicht den Namen des Bildes sondern das Bild selber, und das kann man nicht so einfach in die DB legen
Schau Dir die Kommentare in deinem Script an
//Dateiendung je nach Typ an den Namen anhängen
...
//Den Dateinamen um die Pfadangabe erweitern
...
//Die Datei in das Unterverzeichnis kopieren
Der Bildname inklusive Pfad ist in der Variable $name geseichert _________________
Webmaster Lexikon
Schnäppchensuche
Wenn Du einen Clan Sponsor suchst, schreibe mich NICHT an!!!
|
|
| Nach oben |
|
 |
Cineplex Beliebter [User]

Anmeldung: 22.01.05 Beiträge: 250
|
Verfasst am: 03.07.2006, 18:07 Titel: DELETED |
|
|
DELETED
Zuletzt bearbeitet von Cineplex am 31.12.2007, 03:36, insgesamt 2-mal bearbeitet
|
|
| Nach oben |
|
 |
oliwol Helfer [User]


Anmeldung: 15.12.05 Beiträge: 181 Wohnort: Berlin
|
Verfasst am: 03.07.2006, 18:25 Titel: AW: |
|
|
Ja Danke miitlerweile funktioniert es. Dann war das Problem das die Daten doppelt gesendet wurden. Aber ich hab auch 2 Mal die mysql_query Funktion aufgerufen .......
CMS funktioniert jetzt komplett. Jetzt fehlt nur noch der Warenkorb...
aber danke
Gruß Oli
|
|
| Nach oben |
|
 |
|
|
 |
|
Alle Zeiten sind GMT + 1 Stunde
|
| Seite 1 von 1 |
|  |