Formular sendet nicht

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

  • 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
    Last edited by 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

    Comment


    • #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.

      Comment


      • #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ß?
        Last edited by weltvolk; 30-03-2008, 19:05.

        Comment


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

          private Homepage

          Comment


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

            Comment


            • #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.

              Comment

              Working...
              X