Ankündigung

Einklappen
Keine Ankündigung bisher.

php formular will nicht wie ich es will

Einklappen

Neue Werbung 2019

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

  • php formular will nicht wie ich es will

    hi

    habe ein php-formular mit lektürenhilfe erstellt. leider schlägt die prüfung ob im html-form absenden gedrückt wurde immer fehl und es wird keine mail versendet obwohl ich auf absenden gedrückt habe.

    danke für eure hilfe!

    PHP-Code:
    <?php
    <?php
    $form_name 
    "kontakt.html";

    //stammen die daten vom formular?
    [b]
    if (isset(
    $_POST["senden"]))[/b]
            {
            
    // Textfeldeingaben filtern
            
    function daten_reiniger($inhalt)
                    {
                    if (!empty(
    $inhalt))
                            {
                            
    // html und php-code entfernen
                            
    $inhalt strip_tags($inhalt);
                            
    // umlaute und sonderzeichen
                            
    $inhalt htmlspecialchars($inhalt);
                            
    //überflüssige Zeichen
                            
    $inhalt trim($inhalt);
                            
    //backslashes entfernen
                            
    $inhalt stripsplashes ($inhalt);
                            }

                   return (
    $inhalt);
                }

            
    // schreibart durch umwandlung ersparen

            
    foreach ($_POST as $key=>$element)
                    {
                    if (
    $key != "senden")
                                {
                              
    //eingaben filtern
                            
    $daten daten_reiniger($element);
                            
    // dynamische variablen erzeugen, wie mailer_name
                            
    ${"mailer_".$key} = $daten;
                            
    $maildaten .="$key$daten\n";
                            }
                    }

            
    //mailadresse korrekt angegeben


            
    if (!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([a-z0-9-]+\.)+([a-z]{2,4})$",$mailer_email))
                    {
                    
    $error_msg.= "Fehlerhafte E-Mail Adresse!
    "
    ;
                    }

            
    //prüfen ob felder vorgekommen sind

            
    if($error_msg)
                    {
                    echo 
    '
                    <html>
                    <head>
                    <title>
                    Formular - Fehler
                    </title>
                    <link rel="stylesheet" href="css/formate.css" type="text/css">
                    </head>
                    <body>
                    Ihre Anfrage konnte nicht übermittelt werden. Bitte versuchen Sie es erneut!
                    </body>
                    </html>
                    '
    ;
                    }

            else
                       {
                    
    $mailer_datum date("Y-m-d H:i:s");

                    echo 
    '
                    <html>
                    <head>
                    <title>
                    Formular - Versand
                    </title>
                    <link rel="stylesheet" href="css/formate.css" type="text/css">
                    </head>
                    <body>
                    Ihre Anfrage wurde erfolgreich versendet! Vielen Dank!
                    </body>
                    </html>
                    '
    ;
                    include (
    "respond.php");
                    }
            }

    [
    b]else[/b]
            {
            echo 
    '
            <html>
            <head>
            <title>
            Formular - Fehler
            </title>
            <link rel="stylesheet" href="css/formate.css" type="text/css">
            </head>
            <body>
            Ihre Anfrage konnte nicht übermittelt werden. Bitte versuchen Sie es erneut! Unten
            </body>
            </html>
            '
    ;
            }
    ?>



    ------------------------------------------------------------

    und hier das kontakt formular ohne überflüssige html-pagetags:



    <table border="0" class="normal">
    <tr>
    <td colspan="2">
    [b]
    Kontaktformular
    [/b]




    </td>
    </tr>
    <tr>
    <td>
    <form action="mailer.php" method="POST" enctype="text/plain" name="kontakt">
    Anrede
    </td>
    <td>
    <select name="anrede" size="1">
    <option>Herr</option>
    <option>Frau</option>
    </td>
    </tr>
    <tr>
    <td>
    Vorname
    </td>
    <td>
    <input name="vorname" type="text" size="31">
    </td>
    </tr>
    <tr>
    <td>
    Name
    </td>
    <td>
    <input name="name" type="text" size="31">
    </td>
    </tr>
    <tr>
    <td>
    Straße, Nr.
    </td>
    <td>
    <input size="24" name="strasse" type="text">
    <input size="2" name="nr" type="text">
    </td>
    </tr>
    <tr>
    <td>
    PLZ, Ort
    </td>
    <td>
    <input size="3" name="plz" type="text">
    <input size="23" name="ort" type="text">
    </td>
    </tr>
    <tr>
    <td>
    Telefon/Mobil
    </td>
    <td>
    <input size="31" type="text" name="telefon">
    </td>
    </tr>
    <tr>
    <td>
    E-Mail
    </td>
    <td>
    <input name="mailer_email" type="text" size="31">
    </td>
    </tr>
    <tr>
    <td valign="top">
    Anfrage
    </td>
    <td>
    <textarea name="anfrage" cols="24" rows="5" wrap="physical"></textarea>
    </td>
    </tr>
    <tr>
    <td>
    </td>
    <td>
    <input type="submit" value="senden">


    <input type="reset" value="Löschen">
    </td>
    </tr>
    </form>
    </table>
    ?>

  • #2
    leider schlägt die prüfung ob im html-form absenden gedrückt wurde immer fehl und es wird keine mail versendet obwohl ich auf absenden gedrückt habe.
    Das heisst if (isset($_POST["senden"])) ist nie wahr?
    Dann lass Dir doch direkt davor mal $_POST ausgeben: print_r($_POST);

    Kommentar


    • #3
      inhalt von post nach print

      der inhalt nach der printausgabe von post lautet

      Array ( )

      ich schätze mal dann löst mein absenden-feld überhaupt nichts aus, oder wie ist das zu verstehen? woran liegt das?

      danke nochmals!

      Kommentar


      • #4
        Versuch es doch mal so:
        PHP-Code:
        <?php
        <input type="submit" [b]name="irgendwas"[/bvalue="senden">

        if (isset(
        $_POST["irgendwas"]) ) //...
        ?>

        Kommentar


        • #5
          nein, immer noch nicht

          klingt zwar logisch und voller vorfreude auch ausprobiert aber selbst der zusätzliche eintrag von name="irgendwas" im formular um dem benutzen von irgendwas zur prüfung in php bringen nichts...ich kenn mich zwar mit php so gut wie gar nicht aus, aber irgendwie erscheint mir das alles nicht besonders logisch? was soll jetzt noch fehlen/falsch sein?

          Kommentar


          • #6
            Hm, irgendwas machst Du falsch. Leider ist nicht ersichtlich, was.
            ganz einfaches, getestes Beispiel
            PHP-Code:
            <html><body>
            <?php
            if (isset($_POST["irgendwas"])) {
                echo 
            'Formular empfangen';
            }
            else {
                echo 
            '<form method="POST"><input type="submit" name="irgendwas" value="senden" /></form>';
            }
            ?>
            </body></html>

            Kommentar


            • #7
              php in extra datei

              ich habe das formular in der datei kontakt.html gespeichert, den eigentlichen mailer in mailer.php und die antwort auf die anfrage in responder.php. die entsprechenden dateien habe ich ganz oben schonmal eingefügt. deshalb bringts mir nix, wenn ich jetzt das ganze in html wieder einfüge, oder geht das nicht anders?

              Kommentar


              • #8
                Funktioniert das Beispiel bei Dir?

                Kommentar


                • #9
                  beispiel

                  ich habe jetzt dein beispiel unter mailer.php gespeichert und meine respond.php rausgenommen, da er die seit neuestem unter meinem formular als text anzeigt....warum auch immer?!

                  wenn ich nun auf absenden drücke öffnet sich ne neue htmlseite mit einem neuen button, der senden heisst und das wars. wenn ich auf diesen button drücke passiert nichts weiter....

                  Kommentar


                  • #10
                    Eigenartig. Wenn Du es fehlerfrei kopiert hast, dann interessiert mich doch mal Deine php Version.
                    PHP-Code:
                    <?php echo phpversion(); ?>
                    Was gibt das aus?

                    Um was für eine php Installation handelt es sich eigentlich?
                    Wo kommt sie her? (Quelle, Installationsmedium von... usw)

                    Kommentar


                    • #11
                      phpinfos

                      also installiert hab ich nix. ich nutze den phpunterstützenden server von strato und habe den code von php5/mysql4 matthias kannengiesser studienausgabe. die version, die er durch deinen letzten post ausspuckt ist:

                      4.3.9


                      danke für deine hilfe

                      Kommentar


                      • #12
                        Hm, dann weiss ich auch nicht.
                        Wegschmeissen, neumachen.
                        Wenn das einfache Skript schon versagt, würde ich nicht lange rumsuchen oder rumdoktorn.

                        Kommentar

                        Lädt...
                        X