Dateiupload und Textboxen gleichzeitig verarbeiten

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

  • Dateiupload und Textboxen gleichzeitig verarbeiten

    Hi, hab ein Problem was meinen Quelltext angeht.
    ich möchte gern in einem formular gleichzeitig einen Dateiupload und Daten aus einer Textbox gleichzeitig verarbeiten, dazu habe ich vorerst folgendes Formular erstellt:

    PHP-Code:
    <form action="upload.php" method="post" enctype="multipart/form-data" name="upload">
    <
    table>
             <
    tr>
                     <
    td>Laufnummer:</td>
                     <
    td><input type="text" name="laufummer"></td>
             </
    tr>
             <
    tr>
                     <
    td>XML-File</td>
                     <
    td><input type="file" name="file"></td>
             </
    tr>
             <
    tr>
                     <
    td>&nbsp;</td>
                     <
    td><input type="submit" name="submit" value="Upload"></td>
             </
    tr>


    </
    table>
    </
    form
    der fileupload mit den ganzen abfragen ob es das richtige format hat, nicht zu groß wohin und alles funktioniert soweit

    wenn ich jetzt aber versuche mit

    PHP-Code:
    $lauf $_POST['laufnummer'];
    echo 
    $lauf
    mit das textfeld auszugeben passiert gar nichts.

    hat irgendjemand ne lösung für mich?
    Danke Christian

  • #2
    Das kann viele Gründe haben. Hängt aber von der Logik deines Codes ab. Tipp: dreh erst Mal das error_reporting auf und poste dann ggf. den entsprechenden Code. Denn eigentlich sollte bei dem echo etwas kommen.

    Gruß
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      hab die error-reports gerade nochmal gecheckt, zuerst auf meinem testspace, dann nochmal auf einem lokalem apache mit den reports, ergebnis waren keine errors...

      naja hier nochmal mein gesamter php schnippsel

      PHP-Code:
      <?php

      // Variabeln festlegen
      $max_byte_size 51200;
      $allowed_types "(xml)";
      // Formular wurde abgeschickt
      if($_POST["submit"] == "Upload") {

               
      // Wurde wirklich eine Datei hochgeladen?
               
      if(is_uploaded_file($_FILES["file"]["tmp_name"])) {

                       
      // Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen)
                       
      if(preg_match("/\." $allowed_types "$/i"$_FILES["file"]["name"])) {

                               
      // Datei auch nicht zu groß
                               
      if($_FILES["file"]["size"] <= $max_byte_size) {

                                       
      // Alles OK -> Datei kopieren
                                       
      if(copy($_FILES["file"]["tmp_name"], $_FILES["file"]["name"])) {

                                               echo 
      "Datei erfolgreich hochgeladen!<br>";
                                               echo 
      "Name: " $_FILES["file"]["name"] . "<br>";
                                               echo 
      "Größe: " $_FILES["file"]["size"] . " Byte<br>";
                                               echo 
      "MIME-Type: " $_FILES["file"]["type"] . "<br>";
                                               echo 
      "Link: <a href=\"" $_FILES["file"]["name"] . "\">" $_FILES["file"]["name"] . "</a><br><br>";

                                               
      $ergebnis $_FILES["file"]["name"];
                                               if(
      file_exists($ergebnis)) {
                                                       
      $xml simplexml_load_file($ergebnis);     //Lädt die XML-Datei in ein Objekt
                                                       
      if($xml){
                                                               
      $lauf $_POST['laufnummer'];
                                                               echo 
      "<br><br>";
                                                               echo 
      "Hier Kommmt der Lauf: ";
                                                               echo 
      $lauf;

                                                       }


                                               }
                                               else {
                                                       echo 
      "Datei konnte nicht hochgeladen werden.";
                                               }

                                       }
                                       else {
                                               echo 
      "Die Datei darf nur eine Größe von " $max_byte_size " Byte besitzen.";
                                       }
                               }
                               else {
                                       echo 
      "Die Datei besitzt keine ungültige Endung.";
                               }

                       }
                       else {
                               echo 
      "Keine Datei zum Hochladen angegeben.";
                       }
               }
               else {
                       echo 
      "Bitte benutzen Sie das Upload Formular.";
               }
      }

      ?>
      Zuletzt geändert von DaRealMorpheus; 25.07.2010, 19:53.

      Kommentar


      • #4
        Du willst auf
        PHP-Code:
        $_POST['laufnummer'
        zugreifen, aber in dem $_POST Array existiert nur:
        PHP-Code:
        $_POST['laufummer'
        Also einen Buchstaben vergessen, musst nur dein HTML Formular anpassen dann solllte alles funktionieren.

        Code:
        <td><input type="text" name="laufnummer"></td>
        wäre dann korrekt.
        Zuletzt geändert von 2Bad4You; 25.07.2010, 20:49.

        Kommentar


        • #5
          Merkwürdig, dass das keine Notice geschmissen hat. Bist du dir sicher mir dem Error-Reporting?

          Kommentar


          • #6
            ja bin mir ziemlich sicher, hab alles so gemacht wie auf der seite mit dem error reporting

            danke für die antwort manchmal sieht man echt den wald vor lauter bäumen nicht -.-


            jetzt hab ich aber gleich noch das nächste problem,
            ich habe die xml die ich uploaden will ausgelesen und zur überprüfung ein formular mit verschiedenen daten erstellt, für den fall das die xml nicht korrekt ist

            PHP-Code:
            foreach($xml->RaceResults->Race->Driver as $driver) {
                                                             
            $finish =  $driver->FinishStatus;                                                        //Laufabfrage noch hinzufügen
                                                             
            if($finish != 'None')
                                                             {
                                                                     
            $platz $driver->Position;
                                                                     
            $fahrer $driver->Name;
                                                                     
            $fahrzeug $driver->VehName;
                                                                     
            $team $driver->TeamName;
                                                                     
            $teamberechnung strlen($x)-9;
                                                                     
            $team substr  ($team$teamberechnung);
                                                                     
            $startpos $driver->GridPos;

                                                                     echo 
            '<tr>';
                                                                     echo 
            '<td><input type="text" name="platz" value="'.$platz.'"></td>';
                                                                     echo 
            '<td><input type="text" name="fahrer" value="'.$fahrer.'"></td>';
                                                                     echo 
            '<td><input type="text" name="team" value="'.$team.'"></td>';
                                                                     echo 
            '<td><input type="text" name="startpos" value="'.$startpos.'"></td>';
                                                                     echo 
            '<td><input type="text" name="fahrzeug" value="'.$fahrzeug.'"></td>';
                                                                     echo 
            '</tr>';
                                                             }
                                                     echo 
            '</form>';; 
            das formular wird richtig erstellt, aber ich weiß nicht wie ich ich die daten jetzt noch übertragen kann, was ich also als namen/bezeichnung für die textfelder eingeben kann um alles in die datenbank schreiben zu können
            Zuletzt geändert von DaRealMorpheus; 25.07.2010, 21:30.

            Kommentar


            • #7
              aber ich weiß nicht wie ich ich die daten jetzt noch übertragen kann, was ich also als namen/bezeichnung für die textfelder eingeben kann um alles in die datenbank schreiben zu können
              Wo genau ist das Problem? PHP ist es prinzipiell egal, welchen Namen du verwendest, hauptsache er ist eindeutig. Du kannst also auch "asd" und "efg" verwenden.

              Kommentar


              • #8
                ich weiß nicht ob du es siehst aber ich erstelle ein mehrzeiliges formular mit mehreren eingabefeldern

                also beispielsweise 20x name, 20x platz usw

                deswegen ist es wenn ich am ende get mache nichtmehr eindeutig

                Kommentar


                • #9
                  Hallo,

                  häng mal an jeden Namen im Formular eckige Klammern dran, also z. B.
                  HTML-Code:
                  <input type="text" name="platz[]" value="..." />
                  und sieh dir das Post-Array mit print_r an

                  Gruß,

                  Amica
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    danke, das sollte jetzt reichen dass ich mein projekt vorerst voran bringe

                    Kommentar

                    Lädt...
                    X