Shopseite

Hallo,
ich habe vor,eine Internet seite zu machen, wo Artikel verkauft werden und jeder artikel hat ein foto.
meine Frage:
wie wird in dem mysqldatenbank das Foto für den artikel eingetragen, der link zu dem foto???
ich würde gern tipps bekommen, z.b. nutzliche software oder beispiel im internet für die erstellung von mysqldatenbanken, shopseiten und suchfunktion.

Vielen Dank

Hi…

Die Fotos werden in ein separates Verzeichnis geladen und in die DB trägst Du lediglich eine Verknüpfung auf das Bild ein
Seite 1 könnte so aussehen

$html\_to\_center .= 

 "

" .
" " .
" " .
„“ .
" " .
„“ .
" " .
„“ .
" " .
" " .
„“ .
" " .
„Bemerkung“ .
"   " .
"   " .
„“ ;

######### Ausgabe
print $html_to_center;

?>

insert_picture.php dann so

#####
$picture\_upload\_dir= "../../uploaded\_pictures/";
$picture\_dir = $serverpath . "uploaded\_pictures/";
$tempname = $\_FILES['datei']['tmp\_name'];
$name = $\_FILES['datei']['name'];
$type = $\_FILES['datei']['type'];
$size = $\_FILES['datei']['size'];
$fileerror = $\_FILES['datei']['error'];
$info = getimagesize($tempname);
$breite = $info[0];
$hoehe = $info[1];
#####
if (isset ($\_POST['upload']) && $\_POST['upload'] == "eintragen"){
$date=$\_POST['date'];
// Keinen Titel eingeben
if ( $\_POST['titel'] == "Titel"){
 if (!isset ($error\_msg) || $error\_msg == "" ){
 $error\_msg = "Keinen Namen für die Datei angegeben!
Bitte geben Sie einen eindeutigen Titel für das Bild ein. Dateiupload abgebrochen!
";
 }
 else {

 $error\_msg .= "Keinen Namen für die Datei angegeben!
Bitte geben Sie einen eindeutigen Titel für das Bild ein. Dateiupload abgebrochen!
";

 }
 $errorflag = "TRUE";
}
else{
 $titel=$\_POST['titel'];
 $kommentar = $\_POST['kommentar'];
 if ($kommentar == "Bemerkung"){
 $kommentar = "";
 }
 $alternate = $\_POST['alternate'];
 if($alternate == "alternativer Text"){
 $alternate = "";
 }

 $errorflag = "FALSE";

}
$kommentar=$\_POST['kommentar'];
}
else {
 $error\_msg = "Keine Daten vorhanden!
";
 $errorflag = "TRUE";
 }
############################## Dateititel überprüfen ##############################################
$titel\_check = preg\_replace("[\s]", "\_", $titel);
if ($titel\_check == $titel){
 $html\_to\_center .= "Dateititel nicht optimiert
"; 
}
else {
 $titel = $titel\_check;
 $html\_to\_center .= "Dateititel optimiert! Neuer Titel: " . $titel . "
";
}

###################################################################################################
$info = getimagesize($tempname);
$breite = $info[0];
$hoehe = $info[1];
###################################################################################################
//Bildgrösse
if($breite\>$max\_b || $hoehe\>$max\_h)
{ 
 if(!isset($error\_msg)){
 $error\_msg = "Das Bild darf maximal ".$max\_b."x".$max\_h." Pixel groß sein.
 Dateiupload abgebrochen!
";
 }
 else{
 $error\_msg .= "Das Bild darf maximal ".$max\_b."x".$max\_h." Pixel groß sein.
 Dateiupload abgebrochen!
";
 }
 $errorflag = "TRUE";
}



####### Dateigrösse ############################################################################### 

if($size \> $\_POST['MAX\_FILE\_SIZE'])
{
 if(!isset($error\_msg)){
 $error\_msg = "Achtung: Das Bild ist zu gross! Bitte Dateigrösse ändern auf maximal" . $MAX\_FILE\_SIZE . " Byte(s)
";
 }
 else{
 $error\_msg .= "Achtung: Das Bild ist zu gross! Bitte Dateigrösse ändern auf maximal" . $MAX\_FILE\_SIZE . " Byte(s)
Dateiupload abgebrochen!
";
 }
 $errorflag = "TRUE";
}
###################################################################################################
if (!is\_dir($picture\_upload\_dir)){ 
 if(mkdir($picture\_upload\_dir,0777)) {
 $GLOBALS['picture\_upload\_dir']= $picture\_upload\_dir;
 $html\_to\_center .= $picture\_upload\_dir . "wurde erfolgreich eingerichtet!
";
 }
}
else{ 
 $html\_to\_center .= "Ordner " . $picture\_upload\_dir . " bereits vorhanden
";
}


##################### Dateityp feststellen ########################################################
#jpeg oder gif?

if($type !="image/pjpeg" && $type!="image/gif" )
{ 
 if(!isset($error\_msg)){
 $error\_msg = "nur gif und jpeg Dateien dürfen hochgeladen werden.
 Dateiupload abgebrochen!
";
 }
 else{
 $error\_msg .= "nur gif und jpeg Dateien dürfen hochgeladen werden.
 Dateiupload abgebrochen!
";
 }
 $errorflag = "TRUE";
}
if ($type == "image/pjpeg"){
 $dateisuffix = ".jpg" ;
 $html\_to\_center .= "Dateiendung: " . $dateisuffix . "
"; 
 }
elseif($type == "image/gif") {
 $dateisuffix = ".gif";
 $html\_to\_center .= "Dateiendung: " . $dateisuffix . "
"; 
 }


###################################################################################################


############################# Fehler beim hochladen, Fehler ermitteln ############################
if ($fileerror != 0){
 if(!isset($error\_msg)){
 $error\_msg = "Es liegt ein Fehler beim hochladen der Datei vor, folgender Fehler wurde ermittelt.
";
 }
 else{
 $error\_msg .= "Es liegt ein Fehler beim hochladen der Datei vor, folgender Fehler wurde ermittelt.
";
 }
 switch($fileerror){
 case 1:
 $error\_msg .= "Die hochgeladene Datei überschreitet die von Ihrem Provider für das hochladen festgelegte Größe.
 ";
 $errorflag = "TRUE";
 break;
 case 2: 
 $error\_msg .= "Die hochgeladene Datei überschreitet die in dem HTML Formular für das hochladen festgelegte Größe.
 ";
 $errorflag = "TRUE";
 break;
 case 3:
 $error\_msg .= "Die Datei wurde nur teilweise hochgeladen.
 ";
 $errorflag = "TRUE";
 break;
 case 4:
 $error\_msg .= "Es wurde keine Datei hochgeladen.
 ";
 $errorflag = "TRUE";
 break;
 }
}
############################## Fehler ausschliessen ###############################################
if ($errorflag == "TRUE"){

 //print "\n window.location = \"../picture.php?error\_msg=$error\_msg\";\n ";
 print "Fehler bei der Eingabe!
 Sollte Ihr Browser keine Weiterleitung unterstützen, klicken Sie bitte ";
 print "[hier](%255C%2522../picture.php?error_msg=%2524error_msg%255C%2522)";
 exit;

}
############################# scheint alles in Ordnung zu sein #####################################
if ($fileerror == 0){

 $pic\_name = $titel.$dateisuffix;

 if( file\_exists($picture\_upload\_dir . $pic\_name)) 
 { 
 $pic\_name\_new = "copy\_of\_" . $titel.$dateisuffix;
 $html\_to\_center .= "Datei bereits vorhanden. Datei wurde von " . $pic\_name . " in " . $pic\_name\_new . " umbenannt!
"; 
 $pic\_name = $pic\_name\_new;
 }

 if (move\_uploaded\_file($tempname, $picture\_upload\_dir . $name)) {

 $html\_to\_center .= $name . " erfolgreich hochgeladen. 
";
 } 

 else {
 $html\_to\_center .= $name . " konnte nicht hochgeladen werden. Fehler wurden allerdings nicht entdeckt. Versuchen Sie es zu einem späteren Zeitpunkt noch einmal.";
 }

 if(rename($picture\_upload\_dir . $name,$picture\_upload\_dir . $pic\_name)){
 $html\_to\_center .= $name . " erfolgreich in " . $pic\_name . " umbenannt. 
";
 } 
}

###################################################################################################

$constring = @mysql\_connect($dbhost, $dbuser, $dbpass);
$anwahl = @mysql\_select\_db($dbname, $constring) or die ("Auswahl der Datenbank fehlgeschlagen
" . mysql\_error()); 

 if ($anwahl){
 $html\_to\_center .= "Datenbank geöffnet\";
 }
 else{
 $html\_to\_center .= " **Keine Verbindung zur Datenbank!**";
 }
$picture\_path = $picture\_dir . $pic\_name; 

$insert\_picture\_path = @mysql\_query("INSERT INTO `$picturetable` (`Nr`, `datum`, `ort`, `kommentar`, `alternate`, `name`) VALUES ('', '$date', '$picture\_path', '$kommentar', '$alternate', '$titel')")or die ("Fehler beim eintragen des Bildes in die DB!
" . mysql\_error());
if($insert\_picture\_path){
 $html\_to\_center .= "Bildverknüpfungen wurden erfolgreich in die Datenbank eingetragen. 
";
}

//auf eintragen geklickt?
if(isset($\_POST['upload'])){

 print $html\_to\_center;



} 
else{
 print "Keine Daten vorhanden!";
}
?\>

um das gleiche Bild nicht versehentlich zweimal einzutragen kann man auch noch ein

unset ($\_POST['upload']);

setzen, da der Primärschlüssel in der Regel auf dem index der Tabelle liegt.

mfg, Ron

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]