Problem mit einem Formular

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

  • Problem mit einem Formular

    Hallo!

    Ich habe ein Formular mit Eingabefeldern und Checkboxen. Beim Absenden
    sollten alle eingegeben Infos in einer neuen Seite angezeigt werden.
    Das Problem ist nun, das 1. das Formular nicht abgeschickt wird
    (bekomme keine Mail) und 2. das auf der Ausgabeseite immer alles leer bleibt.


    Da ich nicht besonders gut in PHP bin bitte ich euch um Hilfe.

    contact.php:

    <table width="400" border="0" cellspacing="0" cellpadding="2">


    <form name="Formular" method="post" action="contact_exec.php">
    <tr valign="top" class="prodimage">
    <td width="20%" valign="middle"><b>Vorname:</b></td>
    <td width="80%">
    <input type="text" name="vorname" class="content" size="30">
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>Nachname:&nbsp;&nbsp;</b></td>
    <td>
    <input type="text" name="nachname" class="content" size="30">
    </td>
    </tr>
    <tr valign="top" class="prodimage">

    <td valign="middle"><b>Anrede:</b></td>
    <td>
    <input name="anrede" type="radio" value="Herr" checked>
    Herr
    <input type="radio" name="anrede" value="Frau">
    Frau
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>e-Mail:</b></td>
    <td>
    <input type="text" name="email" class="content" size="30">
    </td>
    </tr>
    <tr valign="top" class="prodimage">

    <td valign="middle"><b>Firma:</b></td>
    <td>
    <input type="text" name="firma" class="content" size="30">
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>Strasse:</b></td>
    <td>
    <input name="strasse" type="text" class="content" id="strasse" value=""
    size="30">
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>PLZ:</b></td>
    <td>
    <input type="text" name="plz" class="content" size="30">
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>Ort:</b></td>
    <td>
    <input type="text" name="ort" class="content" size="30">
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td colspan="2"><br>
    Bitte senden Sie mir Unterlagen zum Thema&nbsp;&nbsp; <br>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="1%" nowrap>
    <input name="wellness" type="checkbox" id="wellness" value="Ja">
    &nbsp;</td>
    <td class="fliesstext">Wellness</td>
    </tr>
    <tr>
    <td nowrap><input name="bad" type="checkbox" id="bad" value="Ja">
    &nbsp;</td>
    <td class="fliesstext">Bad</td>
    </tr>
    <tr>
    <td nowrap><input name="fliesen" type="checkbox" id="fliesen" value="Ja">
    &nbsp;</td>
    <td class="fliesstext">Fliesen</td>
    </tr>
    <tr>
    <td nowrap><input name="heizung" type="checkbox" id="heizung" value="Ja">
    &nbsp;</td>
    <td class="fliesstext">Heizung</td>
    </tr>
    </table> <br>
    </td>
    </tr>
    <tr valign="top" class="prodimage">

    <td><b>Anfrage:</b></td>
    <td>
    <textarea name="mitteilung" class="content" cols="30" rows="5"></textarea>
    </td>
    </tr>

    <tr valign="top">
    <td class="content">&nbsp;</td>
    <td class="content">
    <input type="submit" name="Abschicken" value="Abschicken" class="formularbuttons">
    &nbsp;&nbsp;
    <input type="reset" name="Abschicken2" value="L&ouml;schen" class="formularbuttons">
    </td>
    </tr>
    </form>
    </table>


    contact_exec.php (Ausgabeseite)



    PHP-Code:
    <table width="758" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td bgcolor="#A9B8D6" class="hometeaser"><p class="prodimage" 
    style="margin-left:95px;margin-right:30px">
    <span class="prodimageheading">Kontakt</span><br>
    <br>
    Vielen Dank f&uuml;r Ihre Anfrage! Wir werden uns bem&uuml;hen, diese
    so schnell wie m&ouml;glich zu beantworten. Sie haben uns folgende Nachricht
    &uuml;bermittelt:</p>
    </td>
    <td valign="middle" width="195" bgcolor="#A9B8D6" class="space">
    <img src="grafix/01_unternehmen.jpg" width="194" height="164">
    </td>
    </tr>
    </table>
    <table border="0" cellspacing="0" cellpadding="0" width="560">
    <tr>
    <td width="93" align="right" valign="top" class="space">
    <img src="grafix/spacer.gif" width="93" height="1">
    </td>
    <td width="449" valign="top" class="fliesstext"> <br>
    <table width="400" border="0" cellspacing="0" cellpadding="2">
    <tr valign="top" class="prodimage">
    <td width="20%" valign="middle"><b>Vorname:</b></td>
    <td width="80%">
    <?php echo $vorname?>
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>Nachname:&nbsp;&nbsp;</b></td>
    <td>
    <?php echo $nachname?>
    </td>
    </tr>
    <tr valign="top" class="prodimage">

    <td valign="middle"><b>Anrede:</b></td>
    <td>
    <?php echo $anrede?>
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>e-Mail:</b></td>
    <td>
    <?php echo $email?>
    </td>
    </tr>
    <tr valign="top" class="prodimage">


    <td valign="middle"><b>Firma:</b></td>
    <td>
    <?php echo $firma?>
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>Strasse:</b></td>
    <td>
    <?php echo $strasse?>
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>PLZ:</b></td>
    <td>
    <?php echo $plz?>
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td valign="middle"><b>Ort:</b></td>
    <td>
    <?php echo $ort?>
    </td>
    </tr>
    <tr valign="top" class="prodimage">
    <td colspan="2"><br>
    Bitte senden Sie mir Unterlagen zum Thema&nbsp;&nbsp; <br>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="1%" nowrap>
    <input name="wellness" type="checkbox" id="wellness" 
    <?php if (isset($wellness)) echo "checked"?> value="Ja">
    &nbsp;</td>
    <td class="fliesstext">Wellness</td>
    </tr>
    <tr>
    <td nowrap><input name="bad" type="checkbox" id="bad" 
    <?php if (isset($bad)) echo "checked"?> value="Ja">
    &nbsp;</td>
    <td class="fliesstext">Bad</td>
    </tr>
    <tr>
    <td nowrap><input name="fliesen" type="checkbox" id="fliesen" 
    <?php if (isset($fliesen)) echo "checked"?> value="Ja">
    &nbsp;</td>
    <td class="fliesstext">Fliesen</td>
    </tr>
    <tr>
    <td nowrap><input name="heizung" type="checkbox" id="heizung" 
    <?php if (isset($heizung)) echo "checked"?> value="Ja">
    &nbsp;</td>
    <td class="fliesstext">Heizung</td>
    </tr>
    </table> <br>
    </td>
    </tr>
    <tr valign="top" class="prodimage">

    <td><b>Anfrage:</b></td>

    <td class="fliesstext"> <?php echo $mitteilung?> </td>
    </tr>

    </table>
    </td>
    </tr>
    </table>
    <?php

    $email_to
    ="michael42@aon.at";

    $email_betreff="Kontaktformular-Anfrage";

    if(!isset(
    $wellness)) $wellness="Nein";
    if(!isset(
    $bad)) $bad="Nein";
    if(!isset(
    $fliesen)) $fliesen="Nein";
    if(!isset(
    $heizung)) $heizung="Nein";

    $emailbody="Vorname: " $vorname "\n\nNachname: " 
    $nachname "\n\nAnrede: " $anrede "\n\ne-Mail: " 
    $email "\n\nFirma: " $firma "\n\nStrasse: " $strasse "\n\nPLZ: " 
    $plz "\n\nOrt: " $ort "\n\nWellness-Info: " $wellness "\n\nBad-
    Info: " 
    $bad "\n\nFliesen-Info: " $fliesen "\n\nHeizung-Info: " 
    $heizung "\n\nMitteilung:\n" $mitteilung;

    $header="From:$email<$email>\n";
    $header .= "Reply-To: $email";

    mail($email_to,$email_betreff,$emailbody,$header);

    ?>
    </body>
    </html>

    Ich hoffe das ihr mir weiterhelfen könnt.

    Vielen Dank schon im Voraus, mfg Michael
    Zuletzt geändert von Michael42; 22.11.2007, 11:52.

  • #2
    Vielen Dank schon im Voraus
    Gleichfalls für's Verwenden von PHP-Tags hier im Forum. Kann ja kein Schwein lesen so wie's jetzt steht...
    Default-Fragen: error_reporting() auf E_ALL? Problem mit register_globals?
    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


    • #3
      .. und dann brich noch diese elend lange Code-Zeile um. Ich hasse es horizontal scrollen zu müssen.
      Und dann suchst du im Forum mal nach register_globals. Wenn dann immer noch etwas unklar ist, kannst du dich wieder melden.

      Nachtrag:
      Lies das hier über E-Mail-Injektion
      Zuletzt geändert von H2O; 22.11.2007, 11:46.
      Gruss
      H2O

      Kommentar


      • #4
        OffTopic:

        ahhh ICH SEHE keinen antwortbutton brich um verwende die richtigen tags lies die regeln mach sonst was aber tu was

        ps: thread nicht gelesen somit keine hilfe zu erwarten


        EDIT:

        Besser aber noch nicht optimal x) nutz bitte code tags und php tags und kürz das zeug mal auf relevanten code zusammen x)



        Wie meine Vorredner schon sagten. register_globals
        Zuletzt geändert von Wyveres; 22.11.2007, 11:53.
        Bitte Beachten.
        Foren-Regeln
        Danke

        Kommentar


        • #5
          Sorry für die Umstände. Ich hoffe jetzt ist es einfacher zu lesen.

          mfg Michael

          EDIT:
          Ich habe danach gesucht aber ich kann absolut nichts damit anfangen. Sorry, ich bin echt ein PHP DAU.
          Zuletzt geändert von Michael42; 22.11.2007, 11:56.

          Kommentar


          • #6
            PHP-Code:
             echo $vorname
            register_globals -> post
            PHP-Code:
             echo $_POST['vorname']; 
            sollte doch reichen als Tip oder? wenn nicht php.net register globals oder Super Globale durchsuchen.

            EDIT:

            Nachtrag



            PHP-Code:
            <?php
            var_dump
            ($_POST);
            ?>
            am anfang von contact_exec.php

            sollte dir eigentlich dann alle vorhandenen Varibalen anzeigen
            Zuletzt geändert von Wyveres; 22.11.2007, 12:00.
            Bitte Beachten.
            Foren-Regeln
            Danke

            Kommentar


            • #7
              *gg* Sorry stand voll auf der Leitung. Ich glaube jetzt habe ich es

              Ich mach das mal, Danke!

              EDIT:

              Nur noch 1 Problem ist jetzt. Ich bekomme keine Mail mit einer Anfrage.
              Alles andere funktioniert einwandfrei.




              Mfg Michael

              ps: Danke für eure Geduld mit mir
              Zuletzt geändert von Michael42; 22.11.2007, 13:56.

              Kommentar


              • #8
                Ich habe jetzt das Formular geändert und überall register_globales geändert.
                Das funktioniert jetzt soweit, das bei der contact_exec.php die Daten nochmals richtig angezeigt werden.

                Jedoch schickt mir das Formular keine Mail.

                Muss ich in folgendem Teil auch noch etwas ändern?
                PHP-Code:
                <?php

                $email_to
                ="m.zott@sympatherm.at";

                $email_betreff="Kontaktformular-Anfrage";

                if(!isset(
                $wellness)) $wellness="Nein";
                if(!isset(
                $bad)) $bad="Nein";
                if(!isset(
                $fliesen)) $fliesen="Nein";
                if(!isset(
                $heizung)) $heizung="Nein";


                $emailbody="Vorname: " $vorname "\n\nNachname: " 
                $nachname "\n\nAnrede: " $anrede "\n\ne-Mail: " 
                $email "\n\nFirma: " $firma "\n\nStrasse: " $strasse "\n\nPLZ: " 
                $plz "\n\nOrt: " $ort "\n\nWellness-Info: " $wellness "\n\nBad-
                Info: " 
                $bad "\n\nFliesen-Info: " $fliesen "\n\nHeizung-Info: " 
                $heizung "\n\nMitteilung:\n" $mitteilung;

                $header="From:$email<$email>\n";
                $header .= "Reply-To: $email";

                mail($email_to,$email_betreff,$emailbody,$header);

                ?>
                mfg Michael

                Kommentar


                • #9
                  z.b. mail überprüfen
                  PHP-Code:
                  $mail mail($email_to,$email_betreff,$emailbody,$header);
                  if (
                  $mail)
                  {
                     echo 
                  'gesendet';
                  }
                  else
                  ... 
                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Ich habe deinen Code eingefügt und es gibt mir "gesendet" aus, aber ich bekomme dennoch keine Mail

                    mfg Michael

                    Kommentar


                    • #11
                      klappt das?
                      PHP-Code:
                      $mail mail($email_to,$email_betreff,$emailbody,"From: $email"); 
                      btw: korrekt schreibt man das so E-Mail und nicht e-Mail

                      gruß
                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        Afaik sollte die letzte Zeile der Header mittels doppelten CRLF (\r\n\r\n) abgeschlossen werden...
                        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


                        • #13
                          Leider brachte das auch keine Lösung. Mail kommt einfach nicht.

                          Kommentar


                          • #14
                            Ev ein Spamfilter beim Provider? Mal die Logs der Spamfilter geprüft?
                            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


                            • #15
                              Mittlerweile Funktioniert das mit der E-Mail. Jedoch steht in der Mail alles ohne die vom Kunden eingetragenen Daten.

                              Sieht so aus:

                              Vorname:

                              Nachname:

                              Anrede:

                              e-Mail:

                              Firma:

                              Strasse:

                              PLZ:

                              Ort:

                              Woran kann das jetzt scheitern?

                              mfg Michael
                              Zuletzt geändert von Michael42; 22.11.2007, 15:47.

                              Kommentar

                              Lädt...
                              X