Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler bei Auswertung eines Formulars

Einklappen

Neue Werbung 2019

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

  • Fehler bei Auswertung eines Formulars

    Hallo zusammen,
    da ich gerade für ein Schulprojekt eine Website mache, auf der Informationen in einer XML-Datei geschrieben werden(die man dann auch angucken kann), habe ich ein Form geschrieben, und dazu nich die Auswertung. Jetzt kommt allerdings der Clou: Beim Formular, werden Text und Dateien zusammen verwendet. Ich habe das ganze in eine Form, mit dem normalen Upload-enctype gemacht.
    Allerdings ergibt sich bei der Auswertung einen Fehler. Es kommt, es gebe eine 'unexceptet T_VARIABLE'. Hier erst mal ein Teil des Codes, der wahrscheinlich betroffen ist:
    PHP-Code:
    //Die for-Schleife oben, dient dazu, die automatisch generierten Felder; auch automatisch auszulesen
        
    for ($i 1$i <= 10$i++)
        {
        
    $gehtrein .= "<werk name='".$_POST["werk".$i]."' jahr='".$_POST["jwerk".$i]."'";
        if (
    is_uploaded_file($_FILES['werkm'.$i]['tmp_name']))
            {
            
    move_uploaded_file($_FILES["werkm".$i]["tmp_name"],"/schule/interpreten/".$_POST["name"]."/".$_FILES["werkm".$i]["name"])
            
    $gehtrein .= " src='/schule/interpreten/".$_POST["name"]."/".$_FILES["werkm".$i]["name"]."'></werk>\n";
            }
        else 
            {
                
    $gehtrein .= "></werk>\n";
            }
        } 
    Die Form ist hier.
    Der gesamte PHP-Code:
    PHP-Code:
    <?php
        $gehtrein 
    "";
        
    $fp fopen("interpreten.xml""r+");
        while(!
    feof($fp))
            {
            
    $fg fgets($fp1000);
            
    $gehtrein .= $fg."\n";
            }
        
    fclose($fp);
        unset(
    $fp);
        
    $gehtrein .= "<interpret name='".$_POST["name"]."' autor='".$_SERVER["REMOTE_ADDR"]."'>\n";
        
    $gehtrein .= "<name>".$_POST["name"]."</name>\n";
        
    $gehtrein .= "<vater>".$_POST["vater"]."</vater>\n";
        
    $gehtrein .= "<mutter>".$_POST["mutter"]."</mutter>\n";
        
    $gehtrein .= "<geburt tag='".$_POST["tagg"]."' monat='".$_POST["monatg"]."' jahr='".$_POST["jahrg"]."'></geburt>\n";
        
    $gehtrein .= "<tod tag='".$_POST["tagt"]."' monat='".$_POST["monatt"]."' jahr='".$_POST["jahrt"]."'></tod>\n";
        
    $gehtrein .= "<biografie>".$_POST["biografie"]."</biografie>\n";
        for (
    $i 1$i <= 10$i++) $gehtrein .="<ereignis jahr='".$_POST["jer".$i]."'>".$_POST["er".$i]."</ereignis>\n";
        
    //Die for-Schleife oben, dient dazu, die automatisch generierten Felder; auch automatisch auszulesen
        
    for ($i 1$i <= 10$i++)
        {
        
    $gehtrein .= "<werk name='".$_POST["werk".$i]."' jahr='".$_POST["jwerk".$i]."'";
        if (
    is_uploaded_file($_FILES['werkm'.$i]['tmp_name']))
            {
            
    move_uploaded_file($_FILES["werkm".$i]["tmp_name"],"/schule/interpreten/".$_POST["name"]."/".$_FILES["werkm".$i]["name"])
            
    $gehtrein .= " src='/schule/interpreten/".$_POST["name"]."/".$_FILES["werkm".$i]["name"]."'></werk>\n";
            }
        else 
            {
                
    $gehtrein .= "></werk>\n";
            }
        }
        
    $gehtrein .= "<artperson>".$_POST["art"]."</artperson>\n";
        
    $gehtrein .= "<artmusik>".$_POST["artmusik"]."</artmusik>\n";
        if (
    $_FILES["vortrag"]["size"] <= 100)
        {
            
    copy($_FILES["vortrag"]["tmp_name"],"/schule/interpreten/".$_POST["name"]."/".$_FILES["vortrag"]["name"])
            
    $gehtrein .= "<vortrag src='/schule/interpreten/".$_POST["name"]."/".$_FILES["vortrag"]["name"]."'></vortrag>\n";
        }
        else 
    $gehtrein .= "<vortrag src='false'></vortrag>\n";
        
    $upanzahl $_POST["anzahlups"];
        if (
    $upanzahl == 0$gehtrein .= "<upload>false</upload>";
        else
            {
            for (
    $i 0$i <= ($upanzahl-1); $i++)
                {
                
    copy($_FILES["vortrag"]["tmp_name"],"/schule/interpreten/".$_POST["name"]."/".$_FILES["upload".$i]["name"])
                
    $gehtrein .= "<upload".$i." src='/schule/interpreten/".$_POST["name"]."/".$_FILES["upload".$i]["name"]."'>".$_POST["upload".$i."notiz]</upload>\n";
                }
            }
        
    $gehtrein .= "</interpret>";
        
    $gehtrein .= "</interpretendann>";
        
    $gethrein2 str_replace("</interpreten>"""$gehtrein);
        
    $gehtrein3 str_replace("</interpretendann""</interpreten>"$gehtrein2);
        
    $gehtrein $gehtrein3;
        
    $fp fopen("interpreten.xml""w+");
        
    fputs($fp$gehtrein);
        
    fclose($fp);
        
    header("loacation: http://zurbuchenb.ch/schule/interpreten/auswahlinterpreten.php");
    ?>
    Das $gehtrein, wird einmal die XML-Datei sein, weshalb ich sie zuerst nur lese, und dann überschreibe. Ich hoffe ihr könnt mir helfen.
    Mfg bidu2004

  • #2
    Es kommt, es gebe eine 'unexceptet T_VARIABLE'.
    unexpected bedeutet: unerwartet.
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      Und es bringt auch nichts, zu raten, wo der Fehler stecken könnte - die „wahrscheinlich betroffene“ Stelle wird in der kompletten Fehlermeldung doch explizit benannt - also schau dort nach!

      Oder poste zumindest die komplette Meldung, und markiere auch in deinem Code-Ausschnitt, welche Zeile die betreffende ist.
      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

      Kommentar


      • #4
        Vermutlich auch noch ganz hilfreich, um das Verständis zu verbessern: Quakenet/#php Tutorial - de - Fehlermeldungen. Besonders der 3. Abschnitt sollte mal gelesen werden, damit wir
        Es kommt, es gebe eine 'unexceptet T_VARIABLE'.
        nicht wieder lesen müssen

        Grundlagen!
        [URL]http://hallophp.de[/URL]

        Kommentar


        • #5
          Wobei die Meldung UNEXPECTED zumeist durch fehlende Blockklammern bzw. Semikola hervorgerufen wirde.
          Die müssen nicht zwingend im Bereich der "expliziten" Zeilenangabe der Fehlermeldung liegen.

          Jedoch häufig in der nähren Umgebung.
          Also schau Dir die Fehlermeldung komplett an und suche im Umfeld der angezeigten Zeilennummer,
          oder - wenn Du willst, daß wir Dir helfen - poste die komplette Meldung und den entsprechenden Code...
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #6
            Wobei es zu beachten gilt, dass das Wort "unexcepted" eigentlich gar nicht existiert.
            [URL]http://hallophp.de[/URL]

            Kommentar


            • #7
              Verdammt... Klar, muß unexpected heißen...
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                accept = akzeptieren
                expect = erwartet.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Asche auf mein Haupt, habs korrigiert...
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar


                  • #10
                    accept = akzeptieren
                    expect = erwartet.
                    Ach, jetzt kommt der Löwe schon zu uns in Forum

                    Verdammt...
                    Immerhin hast du beim Kopieren schon die Endung korrigiert. Mit t gibt es das Wort nämlich noch weniger.
                    [URL]http://hallophp.de[/URL]

                    Kommentar


                    • #11
                      Ja was meinst Du wohl, hab mir natürlich was bei gedacht...
                      Competence-Center -> Enjoy the Informatrix
                      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                      Kommentar

                      Lädt...
                      X