Seite 1 von 2

Form Post nicht mit Enter möglich!

Verfasst: 23.12.2003 15:09
von RusTin
Hallo ich hab ein Formular Script gebaut das e-mails verschickt!
Hier der Code:

Code: Alles auswählen

  <?php
if($brief){
       if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$bla)){
       $error_msg.="<font class=\"text\">ungültige eMail!</font><br><a class=\"link\" href=javascript:history.back(1)>zurück</a>";
       }
       if($error_msg){
       echo $error_msg;
       }else{
       
       $recipient="bla@bla.de";
       $subject="bla";
       $header="bla";
       $mail_body ="bla";
       $mail_body.=$anfrage . "bla";

       mail($recipient,$subject,$mail_body,$header);

       echo "<font class=\"text\">Erfolgreich!</font>";
       }
       }else{
      ?>
      <form action=<?php echo $PHP_SELF ?> method=POST>
      <font class="text">bla:</font><br>
      <input name="bla" size="11"> <input type="submit" name="brief" value="get">
      </form>
      <?php
      }
      ?>
Alle "bla" sind entweder richtige Texte oder richtige Variablen, nur aus privaten Gründen weggelassen! Nun habe ich folgendes problem! ich habe diesen Code im header meiner seite wenn ich jetzt das formular ausfülle und auf enter drücke (wie es jeder macht) und nicht auf denn "get" knopf neben dem textfeld so passiert nicht und die Seite reloadet sich einfach, wenn man auf den knopf drückt geht es aber! Das passiert aber auch nur bei Inet Explorer bei Mozilla und Opera geht es eins a mit nur Enter drücken! Kann mir jemand helfen?

Verfasst: 23.12.2003 15:16
von itst
Wenn auf der Seite noch andere Formulare sind, weiss der IE vielleicht nicht, welches er abschicken soll...

Verfasst: 23.12.2003 15:26
von RusTin
ja ich hab da noch eins drauf aber bei dem geht es komischer weise! Wie mach ich dem das klar das er das abschicken soll?

Verfasst: 23.12.2003 15:53
von itst
KA, aber wahrscheinlich gar nicht.

Es sei denn, das Formular ist irgendwie falsch... Wenns nicht zuviel ist, poste es doch mal hier.

Verfasst: 23.12.2003 16:00
von RusTin
na da oben isses doch!

Code: Alles auswählen

  <form action=<?php echo $PHP_SELF ?> method=POST> 
      <font class="text">bla:</font><br> 
      <input name="bla" size="11"> <input type="submit" name="brief" value="get"> 
      </form>
edit: apropo wenn ich das Formular von POST zu GET schalte sieht man oben in der adressleiste die variable die das script will!!

Verfasst: 23.12.2003 16:02
von itst

Code: Alles auswählen

  <form action="<?php echo $PHP_SELF ?>" method="post"> 
      <font class="text">bla:</font><br> 
      <input name="bla" size="11"> <input type="submit" name="brief" value="get"> 
      </form>
Versuchs mal so, Dir haben die Anführungszeichen bei action und method gefehlt. Wenns das nicht war, isses ein IE Bug...

Verfasst: 23.12.2003 16:04
von RusTin
ne kein erfolg! :-((((

Re: Form Post nicht mit Enter möglich!

Verfasst: 23.12.2003 18:12
von Pyramide
Das Problem an der Sache: Du prüfst nicht, ob das Formular abgeschickt wurde, sondern ob der Submit-Button gewählt wurde. Und wenn du den nicht anklickst, wird dessen Formularvariable auch nicht mitgeschickt. So macht das phpBB auch mit den Vorschau/Absenden Buttons: beides sind Submit-Buttons, aber nur die Variable des tatsächlich Angeklickten wird übertragen.

Verfasst: 23.12.2003 18:30
von RusTin
Ich habe es jetzt hinbekommen!
@ Pyramide es ging aber mit "Enter" wenn da noch ein Textfeld, oder ei Radiobutton, etc... mit gesendet wurde!

Ich hab einfach da oben das

Code: Alles auswählen

if($brief){ 
in das

Code: Alles auswählen

if(strlen($bla)>0){
(bla steht für die variable der e-mailadresse)
geändert und sie da es geht! :wink:

*freu*

Verfasst: 23.12.2003 18:43
von itst
*handgegenstirnklatsch*

Dann lags also nicht am Formular, sondern an Deinen Programmierkünsten ;-)