Ankündigung

Einklappen
Keine Ankündigung bisher.

VariablenÜbergabe funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • VariablenÜbergabe funktioniert nicht

    Mir ist meine Frage peinlich, denn das untenstehende Problem wird wahrscheinlich sehr simpel sein - aber ich komme nicht drauf - und dies noch nicht einmal nach einer Woche:

    Ich möchte aus einem Formular eine Variable übergeben und am Bildschirm ausgeben (xxx. html >> xxx.php)

    xxx.php:
    <?php
    echo "<h2>Im folgenden sollten die Variablen ausgegeben werden: </h2>
    <hr>";
    echo "$feldnam";
    ?>

    rufe ich im Browser xxx.php direkt auf, scheint alles richtig zu laufen:
    Zeile 1: formatierter Text
    Zeile 2: Unterstrich
    Zeile 3: Fehlermeldung (ok, da Variable $feldnam ja nicht vorhanden)

    rufe ich über xxx.html >> xxx.php auf, erscheint die folgende , unsinnige Ausgabe:
    Zeile 1: Im folgenden sollten die Variablen ausgegeben werden: (unformatiert)
    Zeile 3: "; echo "$feldnam"; ?>
    Anscheinend erkennt der Browser nun nicht mehr die 'Echo' Befehle?!?

    Danke für die Hilfe
    Wolf

  • #2
    Der Browser erkennt sowas auch nicht. Sowas erkennt der PHP- Interpreter im Webserver.

    Es klingt, als ob dein Webserver nicht dafür ausgelegt ist, PHP auszuführen.
    [url]www.php-maven.org[/url] PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
    Twitter @ [url]https://twitter.com/#!/mepeisen[/url] und Facebook @ [url]http://t.co/DZnKSUih[/url]

    Kommentar


    • #3
      naja. aber wenn er die seite direkt aufruft hätte es auch schon nicht funktionieren können, nicht erst na :wink: ch erfolgtem hyperlink.

      ergänzung: echo '$feldnam'; gibt folgendes aus: $feldnam. also ist das ja keine variable sondern ein string. ;o)

      und fehlermeldung sollte auch keine ausgegeben werden, denn wenn die variable LEER ist, erscheint einfach NIX im echo befehl. welche fehlermeldung kommt denn?

      und wie hast du die variable eigentlich übergeben?

      bissi verwaschen deine informationen.

      EDIT: sorry. hatte nicht gesehen dass du anführungszeichen verwendest. mit anführungszeichen ist es selbstverständlich eine variable. ;o)
      solltest aber umsteigen. ist parserfreundlicher und die anführungszeichen hier sind komplett sinnlos! ;o)

      hier mal das beispiel wie es richtig wäre:

      deine html-seite mit formular:
      Code:
      <html>
      <body>
      <form method="POST" action="xxx.php">
        <input type="text" name="feldnam">
        <input type="submit" value="Abschicken" name="submit">
      </form>
      </body>
      </html>
      deine xxx.php:
      PHP-Code:
      <?php
      // wir nehmen $_POST['feldnam'] da $feldnam nicht funktioniert wenn register_globals auf off ist!
      echo 'Feldname, bzw. übergebene Variable ist: '.$_POST['feldnam'];
      ?>
      mfg Alex

      Kommentar


      • #4
        ratlos wie am Anfang

        Danke für die schnellen Antworten - leider konnte ich bisher mein Problem nicht lösen - auch eine Änderung der php.ini (register_globals = On) brachte nichts. Anbei nochmals meine Codes der beiden Dateien (*.html + *.php), da meine bisherigen Ausführungen doch wohl etwas mager waren:
        Code:
        // Datei form1.html
        <html>
        <body>
          <form method="POST" action="form1.php">
            <input type="text" name="feldnam">
        
            <input type="submit" value="Abschicken">
          </form>
        </body>
        </html>
        Code:
        // Datei form1.php
        <?php
        echo "<h2>Im folgenden sollten die Variablen ausgegeben werden: </h2>
        <hr>";
        echo "$feldnam";
        ?>

        1. Rufe ich die Datei 'form1.php' direkt auf, ist das Ergebnis:

        Zeile 1: Text wie codiert Formatiert
        Zeile 2: Unterstrich wie codiert
        Zeile 3: Fehlermeldung (ok, da Variable nicht deklariert)

        2. Rufe ich zuerst die 'form1.html' auf, ist das Ergebnis:

        Zeile 1: Text unformatiert ?!?
        Zeile 2: Unterstrich wie codiert
        Zeile 3: "; echo "$feldnam"; ?> ?!?

        Unter 2. erwarte ich jedoch
        Zeile 1: Formatierter Text
        Zeile 3: Inhalt der zuvor in *.html eingegebenen Variablen

        Alles deutet darauf hin, dass die Codierung der beiden Dateien korrekt ist, jedoch irgendeine Einstellung bei der Einrichtung falsch!
        Um mich in PHP/MySQL/Apache2 einzuarbeiten, benutze ich 4! Lehrbücher parallel, weil jedes irgendwo Macken hat, die ich mit den Anderen zuerst finden und beheben muss.
        Das o.g. Problem tritt jedoch bei ALLEN Musterprogrammen bei mir auf.

        Und nun bin ich gespannt...
        Wolf

        Kommentar


        • #5
          ich frage mich, was du eigentlich machen willst?
          wieso nicht einfach so arbeiten, wie $_POST das möchte?

          PHP-Code:
          <html>
           <
          head>
             <
          title>test your form</title>
           </
          head>
           <
          body>

             <
          form action="form.php" method="post">

                 <
          input type="text" name="testfield" />
                 <
          input type="hidden" name="sent" value="1" />
                 <
          input type="submit" name="submit" value="send it" />

             </
          form>

           </
          body>
          </
          html
          PHP-Code:
          <?php

             
          if( isset($_POST['sent']) )
             {
                 
          // maybe you're interested in the content of the superglobal array $_POST?$_COOKIE
                 
          echo '<pre>';
                 
          print_r($_POST);
                 echo 
          '</pre>';

                 echo 
          '$_POST["testfield"] contains: ' $_POST['testfield'];
             }
             else
             {
                 echo 
          'Do not open the file directly.';

                 
          // now you can send the user back to the form.html if you want to
                 // use header()
             
          }

          ?>
          ich habe mich jetzt ehrlich gesagt nicht damit befasst, was wäre wenn .. weil es für die arbeit zunächst mal unwichtig ist.

          wenn es dir hier nur um theoretisches wissen geht, dann solltest du das eventuell mal dazusagen.

          grüße ben.
          [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

          Kommentar


          • #6
            Hi Ben,
            ich verzweifele, auch wenn ich Dein Beispiel codiere ist das Ergebnis das Gleiche;
            hier das BildschirmErgebnis:
            '; print_r($_POST); echo ''; echo '$_POST["testfield"]contains: '.$POST['testfield'];} else {echo 'Do not open the file directly.';} ?>
            Auf dem Link von *.html >> *.php passiert etwas für mich nicht nachvollziehbares. Offensichtlich erkennt er das erste 'echo' nicht mehr.
            mfg Wolf

            Kommentar


            • #7
              lad auf deinen webspace folgendes hoch.
              PHP-Code:
              <?php

                   phpinfo
              ();

              ?>
              und poste mal den link auf diese datei.

              danke.
              [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

              Kommentar


              • #8
                Ben, du erkennst bestimmt, ich bin am Anfang.
                Verstehe nicht ganz, was Du meinst; habe nun zwei Sachen gemacht:
                1. // Datei form1.html
                <form method="POST" action="form1.php"> geändert auf
                <form method="POST" action="phpinfo.php"> (dort steht Dein Code)
                Als Ergebnis kam eine leere weiße Seite-

                2. Phpinfo.php im Browser geöffnet.
                Das Ergebnis ist ein 8-seitiger Statusbericht. Doch wonach soll ich in diesem suchen?
                Sende ihn Dir gerne zu - aber dazu brauche ich eine email-adresse.
                Wolf

                Kommentar


                • #9
                  nein. du verlinkst die seite hier. punkt.
                  [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                  Kommentar


                  • #10
                    nein. du verlinkst die seite hier. punkt
                    Danke für Deine bisherige Mühe - Ich glaube, ich muss noch einiges Lernen, bevor ich auf dieser Ebene kommunizieren kann.
                    mfg Wolf

                    Kommentar


                    • #11
                      du willst hilfe .. dan gib uns die informationen, die benötigt werden, um dir zu helfen.
                      ich denke, dass du eventuell überhaupt keinen PHP-unterstützen webspace hast oder da eine schöne falschkonfiguration vorliegt.

                      mein codeschnipsel funktioniert 1A .. wenn der bei dir nicht funktioniert .. dann liegt das sicherlich NICHT an dem code, sondern an dem PHP-gedöhns, dass du verwendest.

                      aber von mir aus .. lern erst mal auf "auf dieser ebene zu kommunizieren".

                      grüße ben.
                      [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                      Kommentar

                      Lädt...
                      X