Announcement

Collapse
No announcement yet.

Formular verschicken funktioniert nicht komplett

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Formular verschicken funktioniert nicht komplett

    Also ich habe hier einen Denkfehler und komme nicht weiter.
    Ich hoffe, dass ich die Frage so gut es geht formuliere.

    Ich habe ein Formular wo ich auch ein Bild hochladen möchte.
    Das ganze funktioniert, wenn ich das Formular "upload.php" richtung code.php schicke.

    Ich möchte aber, das das ganze auf einer Seite läuft. Ich arbeite mit include auf der index.php.
    Dort sieht man dann das Formular. Beim abschicken werden die Formulardaten gesendet und gespeichert jedoch nicht das Bild.

    Ich weiß das es daran liegt, dass bei $_Files nichts übermittelt wird und somit nichts gespeichert werden kann.

    Gibt es die Möglichkeit

    echo "<input type='file' name='form_data' size='40'>";

    das form_data ab zu schicken auch wenn ich mit include arbeite?

  • #2
    Warum schaust du dir nicht eines der unzähligen Upload Scripts für PHP die es im Internet gibt an?

    Des Weiteren kennt keiner dein upload.php, code.php und deine Struktur. Wie soll da eine Antwort aussehen?

    Ach scheint dir nicht klar zu sein, dass du als Parameter aus einem input type=file nur den Dateinamen bekommst. Den Upload an sich musst du selbst durchführen.
    Christian

    Comment


    • #3
      Doch das war mir bekannt, dass ich das Upload selber machen muss. Das geht auch soweit.

      Was mir halt aufgefallen ist, dass ich momentan noch nicht einmal einen Parameter bekomme aus dem input type=file.

      Das passiert mir aber nur wenn ich das script halt im index.php verschicke und im index.php auslesen lasse (im Hintergrund wird es an senden.php geschickt).

      Wenn ich das selbe Script von index.php zum Beispiel auf senden.php schicke und senden.php wird angezeigt, dann funktioniert das.


      Es ist für mich schwer das in Worte zu fassen

      Comment


      • #4
        Mal etwas anders gefragt, kann ich während des sendens

        echo "<input type='file' name='form_data' size='40'>";

        'form_data' den Pfad heraus nehmen und ihn in eine Variable übergeben?
        Danach mittels der Get funktion auslesen?

        Comment


        • #5
          Nein, das kannst Du nicht - was willst Du auf dem Server auch mit einem lokalen Pfad?
          Allerdings solltest Du uns ein Scheibchen deines Codes (das verarbeitende Script und das Formular, ich habe da nämlich schon so einen Verdacht) zeigen - sonst können wir dir nicht helfen.

          Comment


          • #6
            Hallo,

            hat das Formular den Encoding-Type: enctype="multipart/form-data"?

            Gruß Falk
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              Also im Bereich <form...> habe ich auch enctype="multipart/form-data" stehen.

              Wie gesagt von einer normalen php seite funktioniert auch alles. Nur ist diese php includet geht es nicht. Ich habe ja den code heraus kopiert und wo anders probiert.

              Wie gesagt ich gehe davon aus das es an dem include liegt. Ich habe aber zu wenig erfahrung und kann mir eine Lösung nicht vorstellen ausser auf das Include zu verzichten.

              Code.php

              $db_image_name = $_FILES["form_data"]["name"];
              $db_image_type = $_FILES["form_data"]["type"];
              $db_image_size = $_FILES["form_data"]["size"];
              $db_image_path = $_FILES['form_data']['tmp_name'];
              $db_description = $_POST["form_description"];
              $data = addslashes(fread(fopen($db_image_path, "r"),
              filesize($db_image_path)));
              echo $db_image_name;
              echo $db_image_path;
              mysql_query ( " INSERT INTO binary_data ( event_image.filename, event_image.image_data,
              event_image.filesize, event_image.filetype)
              VALUES ( '$db_image_name', '$data', '$db_image_size', '$db_image_type')");

              Und die übertragene php

              File Description:<br>
              <input type='text' name='form_description' size='40'>
              <input type='hidden' name='MAX_FILE_SIZE' value='1000000'>
              <br>File to upload/store in database:<br>
              <input type='file' name='form_data' size='40'>
              <p>
              <input type="submit" name="submit_VeranstaltungSenden" style="margin-left:50px;" id="submit" value="Eintragen">
              <input type="reset" style="margin-left:60px;" id="submit" value="Abbrechen">
              </p>

              Comment


              • #8
                Ich habe den Fehler gefunden.
                Die Masterpage, in der ich alles include muss im <form...> enctype="multipart/form-data" stehen haben. Ansonsten geht es nicht.

                Danke für die Unterstützung, vielleicht kann jemand unnötige Fragen und Antworten hier raus löschen

                Schönen Abend noch

                Comment

                Working...
                X