Formular includet

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

  • Formular includet

    Hallo zusammen. Ich bin so zimlicher Anfänger und habe mit einem Tutorial ein Formular geschrieben. Auf der Seite die ich am basteln bin, wird alles durch den Befehl include angezeigt. Das funktioniert bei allem wunderbar. Jedoch beim Formular geht nichts mehr. Ich kann das Formular ausfüllen, wenn ich danach jedoch auf senden klicke, kommt die Startseite und das Formular wurde nicht abgeschickt.

    Hier das script des Formulars:

    <html><head>
    <title>Kontaktformular</title>
    </head>
    <body>
    <?php
    if ($_POST[sent]==1)
    {


    if (!$_POST[vorname]) {echo '<br>Bitte Vorname eingeben';unset($_POST[sent]);}

    if (!$_POST[nachname]) {echo '<br>Bitte Nachname eingeben';unset($_POST[sent]);}

    if (!$_POST[email]) {echo '<br>Bitte E-Mail eingeben';unset($_POST[sent]);}

    if (!$_POST[nachricht]) {echo '<br>Bitte geben Sie eine Nachricht ein';unset($_POST[sent]);}

    if($_POST[vorname] AND $_POST[nachname] AND $_POST[email] AND $_POST[nachricht] AND $_POST[anrede]=="1") {echo "<br><b> Vielen dank Herr

    $_POST[nachname]. Wir werden Ihnen in kürze antworten</b><br>";}

    if($_POST[vorname] AND $_POST[nachname] AND $_POST[email] AND $_POST[nachricht] AND $_POST[anrede]=="2") {echo "<br><b> Vielen dank Frau

    $_POST[nachname]. Wir werden Ihnen in kürze antworten</b><br>";}

    if($_POST[vorname] AND $_POST[nachname] AND $_POST[email])

    {
    $message="<html><body>";
    $message.="<p>Anrede: ";
    $message.=$_POST[anrede];
    $message.="<br>Vorname: ";
    $message.=$_POST[vorname];
    $message.="<br>Nachname: ";
    $message.=$_POST[nachname];
    $message.="<br>E-Mail: ";
    $message.=$_POST[email];
    $message.="<br>Nachricht ";
    $message.=$_POST[nachricht];
    $message.="<br><b>";
    $message.="</b></p></body></html>";
    $header="Content-Type: text/html";

    if(mail("*@*.ch", "Test-Mail", $message, $header))

    {
    echo "Ihre Anfrage wurde abgeschickt";

    }
    else
    {
    echo " Das Abschicken ist fehlgeschlagen, bitte versuchen sie es später nochmal.";

    unset($_POST[sent]);
    }
    }
    }
    if(!$_POST[sent])
    {
    ?>
    <form action="<? echo $PHP_SELF; ?>" method="post">

    <input type="hidden" name="sent" value=1>
    Anrede: <br>
    <select size="1" name="anrede">
    <option value="1">Herr</option>
    <option value="2">Frau</option>
    </select>
    </p>
    <br>
    <p>Vorname: <br>
    <input type="text" name="vorname" value="<?php echo htmlentities($_POST[vorname]);?>" size="20">
    <br><br>
    Nachname: <br>
    <input type="text" name="nachname" value="<?php echo htmlentities($_POST[nachname]);?>" size="20">
    <br><br>
    E-Mail: <br>
    <input type="text" name="email" value="<?php echo htmlentities($_POST[email]);?>" size="30">
    <br><br>
    Ihre Nachricht: <br>
    <textarea name="nachricht" cols="60" rows="4"> <?php echo htmlentities($_POST[nachricht]);?></textarea>

    <br><br>

    <input type="submit" name="submit" value="abschicken">


    </form>
    <?php
    }
    ?>



    </body>
    </html>

  • #2
    klick ma bitte den link ganz unten in meiner sig.


    dann: die datei an die du schickst wird includet? dann ist die eigentliche datei, an die du schicken willst, nicht $PHP_SELF, sondern das ist die includende datei!
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      dann ist die eigentliche datei, an die du schicken willst, nicht $PHP_SELF, ...
      afaik ist $_SERVER['PHP_SELF'] die Datei in die das Form included wird und nicht die inkludierte Datei. Somit die Datei an die er das Form schicken will.
      Ich denke aber, dass das Prob bei $PHP_SELF liegt. Probier mal $_SERVER['PHP_SELF'].

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        $_SERVER['PHP_SELF'] ergiebt keine änderung.

        gruss

        Kommentar


        • #5
          Willkommen im Forum,

          du wurdest so eben von einem User auf folgenden Thread verwiesen:
          http://www.php-resource.de/forum/sho...threadid=50454

          Bitte halte dich an unsere Regeln und ändere deine Postings entsprechend.

          Kommentar

          Lädt...
          X