Formular sendet nicht

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

  • Formular sendet nicht

    Folgendes kleines Skript funktioniert nicht auf einem mit PHP 5 bestückten Server:
    PHP-Code:
    <?php
      
    echo '<p>' $variable '</p>
    <form action="' 
    $_SERVER['PHP_SELF'] . '" method="post">
    <input type="text" name="variable" size="25">
    <input type="submit" value="Senden">
    </form>'
    ;
    ?>
    Normalerweise sollte nach dem Senden des Textes dieser in $variable angezeigt werden, aber nichts kommt an. Auf einem anderen Server (PHP 4) funtioniert das Skript zwar, aber warum denn nicht mit PHP 5?

  • #2
    Sollte bei deinem Submit Button nicht auch ein Name drin stehen wie zum Beispiel name="send"?

    Auserdem kann das so auch nicht bei php4 funktionieren denn wenn du die Textfelder in ein echo eonschliest musst du das so schreiben
    <input type=\"text\" name=\"feld\">
    Das heist du musst die doppelten Hochkommas escapen,normalerweise müsstest du eine Fehlermeldung bekommen!

    Ein bisschen mehr Code wäre Hilfreich denn aus dem bisschen kann man sich nichts erklären.

    mfg der Litter
    Zuletzt geändert von litterauspirna; 30.03.2008, 11:01.
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    http://www.lit-web.de

    Kommentar


    • #3
      Auserdem kann das so auch nicht bei php4 funktionieren denn wenn du die Textfelder in ein echo eonschliest musst du das so schreiben
      <input type=\"text\" name=\"feld\">
      Das heist du musst die doppelten Hochkommas escapen,normalerweise müsstest du eine Fehlermeldung bekommen!
      Nein, muss er nicht.

      Bisschen mehr Code bitte.

      Dein Stil ist übrigens grauenhaft, wie ich finde. Schreibe doch lieber so:
      PHP-Code:
      <?php
        
      echo '<p>' $variable '</p> ' .
             
      '<form action="' $_SERVER['PHP_SELF'] . '" method="post">' .
             
      '<input type="text" name="variable" size="25">' .
             
      '<input type="submit" value="Senden">' .
             
      '</form>';
      ?>
      Assembler ist eine Methode,
      Programme, die zu langsam laufen,
      so umzuschreiben,
      dass sie überhaupt nicht mehr laufen.

      Kommentar


      • #4
        Also gut, habe es für euch schön gemacht:
        PHP-Code:
        <?php
        if (!isset($_POST['senden']) OR empty($_POST['senden'])) {
            echo 
        "<form action=\"" $_SERVER['PHP_SELF'] . "\" method=\"post\">";
            echo 
        "<input type=\"text\" name=\"variable\" size=\"25\">";
            echo 
        "<input type=\"submit\" name=\"senden\" value=\"Senden\">";
            echo 
        "</form>";
        } else {
          if (!empty(
        $variable)) {
              echo 
        "$variable :-)<br>";
          } else {
              echo 
        "Nichts angekommen :-(<br>";
          }
            echo 
        "<a href=\"" $_SERVER['PHP_SELF'] . "\">Neu laden</a>";
        }
        ?>
        Da geht es, dort geht es nicht. Woran liegt das bloß?
        Zuletzt geändert von weltvolk; 30.03.2008, 19:05.

        Kommentar


        • #5
          PHP-Code:
          [...]
            if (!empty(
          $_POST['variable'])) {
                echo 
          $_POST['$variable']." :-)<br>";
            } else {
                echo 
          "Nichts angekommen :-(<br>";
            }
          [..] 
          versuchs mal so :-D
          Gruß
          Uzu

          private Homepage

          Kommentar


          • #6
            Ja, jetzt funktioniert es. Das sind halt die Probleme des Autodidakten

            Kommentar


            • #7
              Stichwort: register globals

              Wenn register globals auf off gesetzt ist(sinnvollerweise Standard unter PHP 5), so wird aus
              PHP-Code:
              echo "<input type=\"text\" name=\"variable\" size=\"25\">"
              nichtmehr eine globale Variable $variable erzeugt.
              Den Inhalt des Feldes musst du dann so auslesen:
              PHP-Code:
              echo $_POST["variable"]; 
              Assembler ist eine Methode,
              Programme, die zu langsam laufen,
              so umzuschreiben,
              dass sie überhaupt nicht mehr laufen.

              Kommentar

              Lädt...
              X