McHouse: formular will nicht so ganz...

habe folgendes prob:
wenn ich das formular ausfülle und "SENDEN" klicke geht das folmular zur nächsten seite ...
wenn ich das formular ausfülle und auf die enter-taste drücke kommt nochmals das gleiche formular...

es kann keinen fehler im php-script sein!
was stimmt da nicht? hast du eine idee?

<form action="<?php echo $PHP_SELF; ?>?cat=community&ucat=messenger&uucat=neuenachricht" method="post">
<input type="text" name="senden_betreff" class="form" style="width: 600px;">
<textarea name="senden_nachricht" rows="15" class="form" style="width: 600px;"></textarea>
<input type="submit" class="form_submit" name="do" value="SENDEN">
</form>

Grüsse McHouse

  1. Hi,

    habe folgendes prob:
    wenn ich das formular ausfülle und "SENDEN" klicke geht das folmular zur nächsten seite ...
    wenn ich das formular ausfülle und auf die enter-taste drücke kommt nochmals das gleiche formular...
    es kann keinen fehler im php-script sein!

    Wo sollte der Fehler sonst liegen? Es ist das PHP-Script, daß das Formular erneut ausliefert.

    Vermutung: das PHP-Script überprüft, ob der Parameter "do" den Wert "SENDEN" hat.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Vermutung: das PHP-Script überprüft, ob der Parameter "do" den Wert "SENDEN" hat.

      nee das script läuft ja wenn ich auf "SENDEN" klicke und den wert "SENDEN" sollte ja auch überbergeben werden wenn ich auf die ENTER-taste drücke!? oder? geht aber nicht!

      1. Hi,

        Vermutung: das PHP-Script überprüft, ob der Parameter "do" den Wert "SENDEN" hat.
        nee das script läuft ja wenn ich auf "SENDEN" klicke und den wert "SENDEN" sollte ja auch überbergeben werden wenn ich auf die ENTER-taste drücke!? oder? geht aber nicht!

        Nein. Das Name-Value-Pärchen eines Submit-Buttons darf nur gesendet werden, wenn der Button betätigt wurde.
        Sonst könnte man bei einem Formular mit 2 Submit-Buttons nicht unterscheiden, welcher gedrückt wurde.

        Und wenn Du mit der Enter-Taste absendest, wurde kein Button gedrückt.

        cu,
        Andreas

        --
        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
        1. Moin Moin !

          Und wenn Du mit der Enter-Taste absendest, wurde kein Button gedrückt.

          Und eben deswegen baue ich desöfteren

          <input type="hidden" name="submitted" value="1">

          in Formulare ein. Das ist zwar nicht hübsch, und es gäbe auch sicherlich einige andere Wege, aber es hat sich als praktisch erwiesen, insbesondere mit CGI.pm:

          if (param('submitted')) {
            FormularAuswerten();
          } else {
            FormularSchreiben();
          }

          Alexander

          --
          Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"