Kontaktformular versendet Mail, es kommt jedoch keine an...

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

  • Kontaktformular versendet Mail, es kommt jedoch keine an...

    Hallo,

    ich habe ein kleines Kontaktformular geschrieben das über die URL eine ID erhält und diese dann in die empfängeradresse übersetzt. Alles schön und gut. Beim absenden kommt auch die Ausgabe das die mail erfolgreich versandt/versendet (was ist denn nun richtig?) worden ist. Ich empfange jedoch keine email. Habe schon alles kontrolliert, aber finde absolut keinen Fehler.
    Im Kontaktformular
    PHP-Code:
    <?php
    if ($HTTP_GET_VARS['mailid'] == "1")
    {
    $an "maddel@weinhaus-schuh.de";}
    elseif (
    $HTTP_GET_VARS['mailid'] == "2")
    {
    $an "";}
    elseif (
    $HTTP_GET_VARS['mailid'] == "3")

    {
    $an "";}
    echo 
    $an;
    ?>
    PHP-Code:
    <input name="an" type="hidden" id="an" value="<?php $an?>">
    Und im Formular das dann alles verarbeitet:
    PHP-Code:
    <?php
    $empfaenger 
    $_POST['an'];
    $name1 $_POST['name1'];
    $name2 $_POST['name2'];
    $mail $_POST['mail'];
    $strasse $_POST['strasse'];
    $hnr $_POST['hnr'];
    $plz $_POST['plz'];
    $ort $_POST['ort'];
    $fon $_POST['fon'];
    $betreff $_POST['betreff'];
    $text $_POST['text'];

    if (!
    $name1)    {echo '<b>Bitte geben Sie ihren Vornamen ein!</b><br>';}
    if (!
    $name2)    {echo '<b>Bitte geben Sie ihren Nachnamen ein!</b>';}
    if (!
    $mail)    {echo '<b>Bitte geben Sie eine e-mail Adresse ein!</b>';}
    if (!
    $text)    {echo '<b>Bitte geben Sie einen Text ein!</b>';}
    if (!
    $name1 || !$name2 || !$mail || !$text) {echo "<a href=\"javascript:history.back();\"><br>zurück</a>";}
    elseif (!
    ereg("^.+@.+\\..+$"$mail))    {echo "<b>Bitte geben Sie eine gültige eMail-Adresse ein!</b><br>
    <a href=\"javascript:history.back();\"><br>zurück</a>"
    ;}
    else
    {
    $kopf "$betreff";
    $nachricht "Kontakt:\n".$name1." ".$name2."\n".$strasse." ".$hnr."\n".$plz." ".$ort."\n
    Erreichbar unter:\nTelefon: "
    .$fon."\ne-mail: ".$mail."\n\nNachricht:\n\n".$text."";

    if(
    mail($empfaenger$kopf$nachricht"From: $mail\nReply-To: $mail\nX-Mailer: PHP/" phpversion()))
    {
    echo require(
    'send_ok.inc.php');
    }
    else
    {
    echo require(
    'send_fehler.inc.php');
    }
    }
    ?>
    Danke für eure Hilfe

  • #2
    lass dir alle variablen ausgeben, die du an mail() übergibst und zeig sie bei gelegenheit hier.

    Kommentar


    • #3
      Hallo und danke für deine Antwort. Also es werden alle Inhalte korrekt übergeben, außer bei $empfaenger, da kommt nichts, und das ist die empfängeradresse. Diese übergebe ich vom Kontaktformular über das Hidden Field an senden_kontakt.php. Und in senden_kontakt.php ist sie dann nicht mehr da, allerdings weiß ich nicht warum!

      Kommentar


      • #4
        und ich bin kein hellseher und weiß nicht, was du machst.

        Kommentar


        • #5
          Wie meinst du das? Soll ich dir genauer erklären wie das Script funktioniert oder was? Also ich komme über die URL index.php?mailid=1 auf die seite mit dem kontaktformular. Dort wird über HTTP_GET_VARS die id 1 in die Mailadresse maddel@weinhaus-schuh.de umgewandelt, die variable $an wird also mit dem Inhalt maddel@weinhaus-schuh.de gefüllt. Auf der Seite mit dem Kontaktformular kann ich mir das auch anzeigen lassen (wenn ich echo $an eingebe zeigt er mir die mailadresse). Im Kontaktformular ist ein Hidden Field, dort ist value <?php $an; ?> . Dies benutze ich um die empfängeradresse auch an das Bearbeitungsscript vom Kontaktformular zu bekommen. Über das hidden field gebe ich also die variable weiter, wie alle anderen auch. Durch klicken auf absenden werden die variablen an "senden_kontakt.php" übertragen, dieser verschickt dann die email. Ist es so verständlicher?

          Kommentar


          • #6
            ja. aber aus deiner beschreibung folgt, dass alles in ordnung ist.
            und ich kann für dich keine fehleranalyse durchführen.

            Kommentar


            • #7
              Nein, den Fehler habe ich ja entdeckt, die Variable im Hidden Field wird nicht übertragen... Aber warum es so ist weiß ich nicht. Also im Kontaktformular ist sie noch vorhanden, aber im "kontakt_senden.php" ist sie weg... Keine Idee?

              Kommentar


              • #8
                nein. solange es bei dieser problembeschreibung bleibt, wird dir keiner helfen können.

                Kommentar


                • #9
                  Benutz mal
                  PHP-Code:
                  <input name="an" type="hidden" id="an" value="<?php echo $an?>">


                  mfG
                  Das Leben ist ein Scheiß Spiel, nur die Grafik ist geil

                  Kommentar


                  • #10
                    Oder verlege das hidden-Feld überhaupt in das Formular, also zwischen die form-Tags.

                    Übrigens ist dein Mailformular ein gefundenes Fressen für Spammer. Mach dir unbedingt Gedanken, wie du verhinderst, dass ich mit einem selbstgestrickten Post-Request Spam versenden kann! Sonst findest du dich schneller als du denkst auf sämtlichen Blacklists wieder und dann kommt sowieso keine Mail von dir mehr an.

                    Kommentar

                    Lädt...
                    X