PHP mach Nonsense - Formularumleitung

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

  • 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.
    Zuletzt geändert von NetzSchleicher; 06.01.2007, 11: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";
     }


    Kommentar


    • #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";

      Kommentar


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

        Kommentar


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

          Kommentar


          • #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.
            Zuletzt geändert von NetzSchleicher; 06.01.2007, 12:29.

            Kommentar


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

              Kommentar


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

                Kommentar


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

                  Kommentar


                  • #10
                    Ne... Mache ich nicht.

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

                    Kommentar


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

                      Kommentar


                      • #12
                        Wie jetzt?

                        Kommentar


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

                          Kommentar


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

                            Kommentar


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

                              Kommentar

                              Lädt...
                              X