Probleme mit Bild-Upload!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Bild-Upload!

    Moin Moin,

    bin zwar kein blutiger Anfänger mehr, aber ich habe ein sehr grosses Problem dem ich schnellstmöglich abhilfe schaffen möchte!

    Ich habe auf meiner Seite eine Mitgliederliste unter PHP und MySQL, welche folgende Felder enthält:
    - Nickname im Forum
    - Name
    - Email
    - Land
    - Ort
    - PLZ
    - Fahrzeug
    - Kommentar
    - Datum der Eintragung
    und
    - Bild

    Und das Bild bereitet mir arge Schwierigkeiten! Folgendes Eintrage Formular habe ich selber und mit Hilfe von Dreamweaver erzeugt:

    Code:
    <?php require_once('Connections/cmflphp.php'); ?>
    <?php require_once('Connections/cmflphp.php'); ?>
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
    
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    
    
    $editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
    if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
      $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
    }
    
    $editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
    if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
      $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
    }
    
    if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
      $insertSQL = sprintf("INSERT INTO fl_php_data (nickname, name, email, land, ort, plz, fahrzeug, kommentar, datum, visible, bild) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, CURDATE(), 'N', %s)",
                           GetSQLValueString($HTTP_POST_VARS['nickname'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['name'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['email'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['land'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['ort'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['plz'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['fahrzeug'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['kommentar'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['datum'], "date"),
                           GetSQLValueString($HTTP_POST_VARS['visible'], "text"),
                           GetSQLValueString($HTTP_POST_VARS['bild'], "text"));
    
      mysql_select_db($database_cmflphp, $cmflphp);
      $Result1 = mysql_query($insertSQL, $cmflphp) or die(mysql_error());
    
      $insertGoTo = "mailtest.php";
      if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    mysql_select_db($database_cmflphp, $cmflphp);
    $query_Recordset1 = "SELECT * FROM fl_php_data";
    $Recordset1 = mysql_query($query_Recordset1, $cmflphp) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    
    mysql_select_db($database_cmflphp, $cmflphp);
    $query_Recordset2 = "SELECT * FROM fl_php_laender";
    $Recordset2 = mysql_query($query_Recordset2, $cmflphp) or die(mysql_error());
    $row_Recordset2 = mysql_fetch_assoc($Recordset2);
    $totalRows_Recordset2 = mysql_num_rows($Recordset2);
    ?>
    <html>
    <head>
    <title>Die Mitsubishi Colt Tuning Seite</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    <div align="center"><strong><font size="4" face="Arial, Helvetica, sans-serif">In die Fanliste eintragen!
    </font></strong></div>
    <form method="post" name="form1" enctype="multipart/form-data" action="<?php echo $editFormAction; ?>">
      <br>
      <table align="center">
        <tr valign="baseline">
          <td width="96" align="right" nowrap><strong><font size="-1" face="Arial, Helvetica, sans-serif">Alias
                im Forum:</font></strong></td>
          <td width="344"><input type="text" name="nickname" value="" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right"><strong><font size="-1" face="Arial, Helvetica, sans-serif">Name:*</font></strong></td>
          <td><input type="text" name="name" value="" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right"><strong><font size="-1" face="Arial, Helvetica, sans-serif">Email:*</font></strong></td>
          <td><input type="text" name="email" value="" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right"><strong><font size="-1" face="Arial, Helvetica, sans-serif">Land:*</font></strong></td>
          <td>
            <select name="land">
              <?php 
    do {  
    ?>
              <option value="<?php echo $row_Recordset2['land']?>" ><?php echo $row_Recordset2['land']?></option>
              <?php
    } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
    ?>
            </select>
          </td>
        <tr>
        <tr valign="baseline">
          <td nowrap align="right"><strong><font size="-1" face="Arial, Helvetica, sans-serif">Ort:*</font></strong></td>
          <td><input type="text" name="ort" value="" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right"><strong><font size="-1" face="Arial, Helvetica, sans-serif">Plz:*</font></strong></td>
          <td><input type="text" name="plz" value="" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right"><strong><font size="-1" face="Arial, Helvetica, sans-serif">Fahrzeug:*</font></strong></td>
          <td><input type="text" name="fahrzeug" value="" size="32">
          </td>
        </tr>
    <tr valign="baseline">
          <td nowrap align="right"><strong><font size="-1" face="Arial, Helvetica, sans-serif">Fahrzeug:*</font></strong></td>
          <td><input type="file" name="bild" value="" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right" valign="top"><strong><font size="-1" face="Arial, Helvetica, sans-serif">Kommentar:</font></strong></td>
          <td>
            <textarea name="kommentar" cols="50" rows="5"></textarea>
          </td>
        </tr>
        <tr valign="baseline">
          
        </tr>
        <tr valign="baseline">
          <td height="21" align="right" nowrap>&nbsp;</td>
          <td><font color="#FF0000" size="-2" face="Arial, Helvetica, sans-serif">Mit
              * gekennzeichnete 
    Felder sind Pflichtfelder!</font></td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">&nbsp;</td>
          <td><input type="submit" value="Datensatz einfügen">
          </td>
        </tr>
      </table>
      <input type="hidden" name="datum" value="">
      <input type="hidden" name="visible" value="">
      <input type="hidden" name="MM_insert" value="form1">
    </form>
    <p align="center"><font color="#FF0000" size="-2" face="Arial, Helvetica, sans-serif"><strong> Dein
          Eintrag wird nicht sofort in der Liste sichtbar sein, denn um Missbrauch
    zu vermeiden werden alle Eintr&auml;ge vorab von einem Admin kontrolliert!</strong></font></p>
    
    <form method="post" name="form2">
    </form>
    <p>&nbsp;</p>
    </body>
    </html>
    <?php
    mysql_free_result($Recordset1);
    
    mysql_free_result($Recordset2);
    ?>
    Die DB hat folgende Struktur:
    Code:
    CREATE TABLE `fl_php_data` (
      `ID` int(10) NOT NULL auto_increment,
      `passwort` varchar(50) NOT NULL default '',
      `nickname` varchar(50) default NULL,
      `name` varchar(50) NOT NULL default '',
      `email` varchar(50) NOT NULL default '',
      `land` varchar(50) NOT NULL default '',
      `ort` varchar(50) NOT NULL default '',
      `plz` varchar(10) NOT NULL default '',
      `fahrzeug` varchar(50) NOT NULL default '',
      `kommentar` varchar(255) default NULL,
      `datum` date NOT NULL default '0000-00-00',
      `visible` varchar(5) NOT NULL default 'no',
      `bild` varchar(255) default NULL,
      PRIMARY KEY  (`ID`)
    ) TYPE=MyISAM AUTO_INCREMENT=145 ;
    Die Spalte 'passwort' ist noch ungenutzt!

    Folgenden Gedankengang hatte ich:

    Ein User trägt sich ein und läd ein Bild mit hoch, welches in der DB gespeichert wird und dynamisch mit den Daten angezeigt werden kann!

    Nun ist es aber so, daß beim abschicken des Formulars alle Felder in der DB richtig ausgefüllt werden, aber das feld 'bild' bleibt leer!

    Ich habe schon alles mögliche ausprobiert, auch beim Spalten-Typ 'BLOB' geht es nicht!

    Bitte helft mir, gebt mir den entscheidenen Tipp, was ich falsch mache!

    Ich sitze schon seit ein paar Stunden davor und komme einfach nicht weiter!

    Danke schon mal

    Gruß
    Baschi
    Zuletzt geändert von baschi; 16.09.2003, 14:24.
    Gruß
    Baschi

  • #2
    zum einen mal sind zusammengeklickte codes etwas gerauenghaftes! wenn du was lernen willst, versuche es mal ohne klicken

    wenn du bilder in der DB speichern willst muss das feld vom typ blob sein! aber sowas macht man eigentlich nicht. das reisst die arme datenbank nämlich ganz schön runter! speicher das bild auf dem server, und in der DB nur den pfad zu dem bild
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      ich seh hier weder beim insert eine spalte "bild" noch ein file-field im formular
      Kissolino.com

      Kommentar


      • #4
        Sorry, hatte einen alten Quelltext gepostet, jetzt sind im INSERT und im Formular die Felder fürs Bild vorhanden!
        Gruß
        Baschi

        Kommentar


        • #5
          Original geschrieben von schmalle
          zum einen mal sind zusammengeklickte codes etwas gerauenghaftes! wenn du was lernen willst, versuche es mal ohne klicken

          wenn du bilder in der DB speichern willst muss das feld vom typ blob sein! aber sowas macht man eigentlich nicht. das reisst die arme datenbank nämlich ganz schön runter! speicher das bild auf dem server, und in der DB nur den pfad zu dem bild
          Das ist das eine, aber mein Problem ist etwas anderes!
          Wäre nett, wenn Du trotz dem "geklicke" mal schauen könntest!
          Danke
          Gruß
          Baschi

          Kommentar


          • #6
            na bitte, jetzt sind sie also da

            dann such hier im forum mal nach upload bzw move_uploaded_file ... und beherzige den tipp von schmalle.

            btw: pack den code mal bitte zwischen die php-tags. ^^ da oben ist ein button dafür bzw [ PHP] [ /PHP] (ohne die leerzeichen)
            Kissolino.com

            Kommentar

            Lädt...
            X