matrixfire: Formular mit Dateiupload

Hallo Community,
ich hab noch ein Problem und zwar ich will auf meine Seite auch ein Formular einfügen auf in dem man Folgende Daten angeben soll
Vorname
Nachname
Adresse
ort
emailadresse
betreff
Text
( und nun mein Problem )
Bild

Ich will bei Bilder das der User mir ein Bild zusendet von einer Sache die ihn beschäftigt. und das alles soll mir per Email zugesandt werden.
ich bin schon soweit gekommen das er mir die ganzen daten per email zusendet aber er lässt das Bild nicht uploaden.
kann mir irgend jemand helfen.
Bitte wenn möglich schnell.

mfg.
matrixfire

  1. Ist dein Formular ein multidata-Formular und deine Email nicht rein Textkodiert?

  2. da gibt es wunderschöne beispiele dazu, ein anfang wäre z.b. das da:

    http://www.dclpfaq.de/q/q-formular-upload-php4.html

  3. Hi

    Ich will bei Bilder das der User mir ein Bild zusendet von einer Sache die ihn beschäftigt. und das alles soll mir per Email zugesandt werden.
    ich bin schon soweit gekommen das er mir die ganzen daten per email zusendet aber er lässt das Bild nicht uploaden.
    kann mir irgend jemand helfen.
    Bitte wenn möglich schnell.

    Kannst Du mal den relevanten Teil des Quellcodes posten? Sonst erkennt man das Problem nicht... Oder schreib mal genau, wo es mit PHP hapert.

    1. bisher bin ich so weit

      <html>

      <head>
      <meta http-equiv="Content-Language" content="de">
      <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
      <meta name="ProgId" content="FrontPage.Editor.Document">
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
      <title>Neue Seite 2</title>
      </head>

      <body>

      <form method="POST" enctype="multipart/form-data" action="--WEBBOT-SELF--">
        <!--webbot bot="FileUpload" U-File="file:///E:/MeinWeb5/_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" --><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="475" id="AutoNumber1">
          <tr>
            <td width="72">
            <p style="margin-top: 0; margin-bottom: 0">Name:</td>
            <td width="148">
            <p style="margin-top: 0; margin-bottom: 0">
            <input type="text" name="T1" size="20"></td>
            <td width="99">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</td>
            <td width="151">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</td>
          </tr>
          <tr>
            <td width="72">
            <p style="margin-top: 0; margin-bottom: 0">Adresse: </td>
            <td width="148">
            <p style="margin-top: 0; margin-bottom: 0">
            <input type="text" name="T2" size="20"></td>
            <td width="99">
            <p style="margin-top: 0; margin-bottom: 0">Straßennummer:</td>
            <td width="151">
            <p style="margin-top: 0; margin-bottom: 0">
            <input type="text" name="T5" size="20"></td>
          </tr>
          <tr>
            <td width="72">
            <p style="margin-top: 0; margin-bottom: 0">Stadt:</td>
            <td width="148">
            <p style="margin-top: 0; margin-bottom: 0">
            <input type="text" name="T3" size="20"></td>
            <td width="99">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</td>
            <td width="151">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</td>
          </tr>
          <tr>
            <td width="72">
            <p style="margin-top: 0; margin-bottom: 0">Email:</td>
            <td width="148">
            <p style="margin-top: 0; margin-bottom: 0">
            <input type="text" name="T4" size="20"></td>
            <td width="99">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</td>
            <td width="151">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</td>
          </tr>
          <tr>
            <td width="72">
            <p style="margin-top: 0; margin-bottom: 0">Betreff:</td>
            <td width="148">
            <p style="margin-top: 0; margin-bottom: 0">
            <input type="text" name="T6" size="20"></td>
            <td width="99">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</td>
            <td width="151">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</td>
          </tr>
        </table>
        <p style="margin-top: 0; margin-bottom: 0">Inhalt: </p>
        <p style="margin-top: 0; margin-bottom: 0">
        <textarea rows="6" name="S1" cols="41"></textarea></p>
        <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
        <p style="margin-top: 0; margin-bottom: 0">
        <input type="file" name="F1" size="48"></p>
        <p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
      </form>

      </body>

      </html>

      arbeite mit Frontpage.
      wenn ich einstell das er mir alles per email zusenden soll dann schickt er mir statt des Fotos einfach nur denn standort des Bildes auf dem PC des Users an. was muss ich machen bitte helft mir!
      mfg.
      matrixfire

      1. Hello,

        <form method="POST" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">

        <input type="text" name="T1" size="20">
              <input type="text" name="T2" size="20">
              <input type="text" name="T5" size="20">
              <input type="text" name="T3" size="20">
              <input type="text" name="T4" size="20">
              <input type="text" name="T6" size="20">

        <textarea rows="6" name="S1" cols="41"></textarea>
             <input type="file" name="F1" size="48">

        <input type="submit" value="Abschicken" name="B1">
             <input type="reset" value="Zurücksetzen" name="B2">

        </form>

        So sähe der relevante Code aus, den Du hier posten solltest.
        Ob das nun alles schön in einer Tabelle steht oder mit CSS formatiert wird, ist für Dein Problem mit PHP irrelevant.

        Wenn Du diesen Code in einem Script zusammenfasst, in dem zum Testen auch ein paar Zeilen drinstehen, solltest Du den fehler finden

        <?php

        error_reporting(E_ALL);

        echo "<pre>\n";
           echo "<h2>Files</h2>\n";
           echo htmlentitities(print_r($_FILES),1),ENT_QUOTES);

        echo "<h2>Post</h2>\n";
           echo htmlentitities(print_r($_POST),1),ENT_QUOTES);

        echo "<pre>\n";

        ?>
        <!-- hier den HTML-Teil mit dem Form einfügen -->

        So wird Dir angezeigt, was beim PHP-Parser ankommt von den für Dich relevanten Parametern und Daten.

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

  4. Hello,

    Vorname
    Nachname
    Adresse
    ort
    emailadresse
    betreff
    Text
    Bild

    Dein Problem steckt in der Bindung der Daten.
    Das liegt an der Funktionalität der Browser.

    "Normale" Formulardaten können als Default-Wert bei der Anzeige eines Formulares wieder angezeigt werden. Der Zugriff auf ein File (also hier ein Bild) kann aber nicht vorbestimmt werden im Browser.

    Das führt im Fehlerfall dazu, dass das Bild nochmal referenziert werden muss.

    Es ist also besser, den Vorgang in zwei Teile zu trennen:

    1. Allgemeindaten übertragen (auch mit Affenformular)
    2. Zu den verifizierten Allgemeindaten die Files (Bilder) hochladen

    Um das zu vereinfachen, sollte man eine Session verwenden.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau