PHP mach Nonsense - Formularumleitung

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

  • PHP mach Nonsense - Formularumleitung

    Guten Tach.

    Ich habe ein Kontaktformular für meine Site geschrieben, allerdings will dieses nicht wirklich funktionieren. Ich habe als action im Formular $_SERVER['PHP_SELF'] angegeben, also in meinem Fall kontakt.php. Wenn ich aber nun alles ordnungsgemäß ausfülle, wird das Formular auf die login.php umgeleitet, warum weiß ich nicht mal.

    Kontaktformular-Code:
    PHP Code:
    <?php

    if ( empty ($_POST['Absender']) OR empty ($_POST['Betreff']) OR empty ($_POST['Message']) )
     {
     echo 
    "<form action='".$_SERVER['PHP_SELF']."' method='post'>\n";
     echo 
    "\t<table class='contact'>\n";
     echo 
    "\t\t<tr>\n";
     echo 
    "\t\t\t<td width='50%'><strong>Absender:</strong></td>\n";
     echo 
    "\t\t\t<td width='50%'><input type='text' name='Absender'></input></td>";
     echo 
    "\t\t\t</tr>\n";
     echo 
    "\t\t<tr>\n";
     echo 
    "\t\t\t<td><strong>Betreff:</strong></td>\n";
     echo 
    "\t\t\t<td><select name='Prefix'>\n";
     echo 
    "\t\t\t\t<option value='' selected='selected'>Kein Betreff</option>\n";
     echo 
    "\t\t\t\t<option value='Lob: '>Lob</option>\n";
     echo 
    "\t\t\t\t<option value='Support: '>Support</option>\n";
     echo 
    "\t\t\t\t<option value='Beschwerde: '>Beschwerde</option>\n";
     echo 
    "\t\t\t\t<option value='Kritik: '>Kritik</option>\n";
     echo 
    "\t\t\t</select> <input type='text' name='Betreff'></input></td>\n";
     echo 
    "\t\t</tr>\n";
     echo 
    "\t\t<tr>\n";
     echo 
    "\t\t\t<td><strong>Nachricht:</strong></td>\n";
     echo 
    "\t\t\t<td><textarea name='Message'></textarea></td>\n";
     echo 
    "\t\t</tr>\n";
     echo 
    "\t\t<tr>\n";
     echo 
    "\t\t\t<td colspan='2' align='center'><input type='submit' value='Senden'></input></td>\n";
     echo 
    "\t\t</tr>\n";
     echo 
    "\t</table>\n";
     echo 
    "</form>\n";
     }

    if ( !empty (
    $_POST['Absender']) AND !empty ($_POST['Betreff']) AND !empty ($_POST['Message']) )
     {
     
    $Absender "From: ".$_POST['Absender'];
     
    $Betreff $_POST['Prefix'].$_POST['Betreff'];
     
    $Message strip_tags($_POST['Message']);
     
    $MyMail "admin@lofw.de";

     
    mail($MyMail$Betreff$Message$Absender);

     echo 
    "Deine Mail wurde erfolgreich verschickt.\n";
     }

    ?>
    Wenn ich auf die login.php umgeleitet werde, werde ich automatische zurück geschickt, da ich das so auf der login.php eingestellt habe. Folglich kann ich also so oft das Formular abschicken wie ich will, nichts geht.
    Ich habe PHP-Version 5.1.2 oder so, auf jeden Fall über 5. DA ich leider net weiß, wo der Fehler genau liegt, muss ich leider den kompletten Code posten.
    Last edited by NetzSchleicher; 06-01-2007, 10:55.

  • #2
    Fehlt da nicht ne Bedingung ob der Button überhaupt betätigt wurde ?

    PHP Code:

    if (isset($_POST['Senden']))
    {

    if ( !empty (
    $_POST['Absender']) AND !empty ($_POST['Betreff']) AND !empty ($_POST['Message']) )
     {
     
    $Absender "From: ".$_POST['Absender'];
     
    $Betreff $_POST['Prefix'].$_POST['Betreff'];
     
    $Message strip_tags($_POST['Message']);
     
    $MyMail "admin@lofw.de";

     
    mail($MyMail$Betreff$Message$Absender);

     echo 
    "Deine Mail wurde erfolgreich verschickt.\n";
     }


    Comment


    • #3
      und

      echo "\t\t\t<td colspan='2' align='center'><input type='submit' value='Senden'></input></td>\n";

      ersetzen mit:

      echo "\t\t\t<td colspan='2' align='center'><input type='submit' name='Senden' value='Senden'></input></td>\n";

      Comment


      • #4
        Muss nicht unbedingt angegeben werden, aber selbst wenn ich das angebe, werde ich auf login.php umgeleitet.

        Comment


        • #5
          wird kontakt.php per include eingebunden?
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Comment


          • #6
            Ja, warum?

            Selbst wenn ich den Code direkt in die Seite reinschreibe, in der kontakt.php normalerweise includet wird, werde ich auf login.php umgeleitet.
            Last edited by NetzSchleicher; 06-01-2007, 11:29.

            Comment


            • #7
              ja Du bist auch ein Fuchs, wenn Du das kontaktformular mit include einbindest ist $_SERVER['PHP_SELF'] nicht kontakt.php
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Comment


              • #8
                Ja, wiegesagt, egal was ich als action eingebe, ich komme immer auf login.php

                Comment


                • #9
                  das glaube ich irgendwie nicht... wenn Du action="kontakt.php" eingibst sollte er auf kontakt springen es sei denn Du machst irgendwas auf dem Indianer... mod_rewrite oder sonst was
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Comment


                  • #10
                    Ne... Mache ich nicht.

                    Wers mal selbst ausprobieren will:
                    http://87.184.192.79/new/kontakt.php

                    Comment


                    • #11
                      vielleicht solltest Du das erste formular schliessen bevor Du das zweite anfängst
                      Beantworte nie Threads mit mehr als 15 followups...
                      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                      Comment


                      • #12
                        Wie jetzt?

                        Comment


                        • #13
                          schau Dir halt mal deinen html code an ...
                          Beantworte nie Threads mit mehr als 15 followups...
                          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                          Comment


                          • #14
                            Zeile 32 Zeichen 17 - Warnung: <form> shouldn't be nested
                            mfg

                            Comment


                            • #15
                              Das erste Form is gar nicht geschlossen vorm anderen.

                              Comment

                              Working...
                              X