php-E-Mail-Formular

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • php-E-Mail-Formular

    Hallo zusammen,

    ja, ich schon wieder^^
    Auf meiner Seite sollen 3 Formulare sein. Ich hab jetzt eins im Internet gefunden,w elche mir passen (sollte). Allerdings ist nur das php-gerüst da, und es wird nichts angezeigt (also wo man halt alles eingibt und so). Und da ich mit php noch so gut wie keine Erfahrung hab, wollte ich lieber mal heir nachfragen.
    Hier einmal der Code:

    Quellcode

    1. <?php
    2. // Emailadresse des Empfaengers
    3. $empfangAdresse = "ihre.adresse@domain.tld";
    4. // Name des Empfaengers
    5. $empfangName = "Fipsi";
    6. // "Kopienverteiler" (Kopien werden nur versandt, wenn diese Variable gesetzt
    7. // wird, also loeschen Sie die Raute zum Beginn der Zeile, wenn dies gewuenscht
    8. // wird)
    9. #$empfangBCC = "blind1@domain.tld";
    10. // Pfad und Titel der Datei, die nach erfolgtem Versand angezeigt werden soll
    11. $seiteDanke = "/danke.html";
    12. // Soll der Absender eine Bestaetigungsnachricht bekommen, setzen Sie den Wert
    13. // der Variable auf "j", ansonsten "n"
    14. $doKopie = "j";
    15. // Soll nur die Formularfelder übermittelt werden, die einen Wert beinhalten,
    16. // setzen Sie den Wert der Variable auf "j", ansonsten "n"
    17. $doInhalt = "j";
    18. // Informationstext in der Email, die dem Absender bei Aktivierung der
    19. // Option $doKopie = "n" zugesandt wird
    20. $bodyDankEmail = "Vielen Dank fuer Ihre Nachricht. Wir werden sie schnellstmoeglich bearbeiten.<br><br>Unser Kontaktmanagement uebernimmt GrammiwebMailOpen. Im <a href=http://produkte.grammiweb.de/mailopen/index.shtml>Produktkatalog</a> koennen Sie weitere Informationen zu diesem leistungsfaehigen und flexiblen PHP-Produkt erhalten.";
    21. // Fehlermeldung (Einleitung und Text)
    22. $meldFehler = "<html><body><p>Ein Fehler ist aufgetreten: ";
    23. $meldFehler2 = "<p>Bitte verwenden Sie die &quot;Zurück&quot;-Schaltfläche Ihres Browsers und ergänzen Sie die Angabe.</body></html>";
    24. if (isset($HTTP_POST_VARS) && is_array($HTTP_POST_VARS))
    25. {
    26. reset($HTTP_POST_VARS);
    27. while (list($k, $v) = each($HTTP_POST_VARS))
    28. {
    29. $feld[] = $k;
    30. $inhalt[] = $v;
    31. }
    32. }
    33. $formPflicht = $inhalt[array_search("MOPflichtfelder",$feld)];
    34. $actPruef = explode(" ",$formPflicht);
    35. if($formPflicht)
    36. {
    37. if(count($actPruef))
    38. {
    39. for($x=0; $x < count($actPruef); $x++)
    40. {
    41. $tempTest = $inhalt[array_search($actPruef[$x],$feld)];
    42. if(!$tempTest) $meldFalsch = "$actPruef[$x] wurde nicht angegeben";
    43. if($actPruef[$x] == "Email")
    44. {
    45. if(!eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $tempTest))
    46. {
    47. $meldFalsch = "Die von Ihnen angegebene Emailadresse &quot;$tempTest&quot; scheint nicht korrekt zu sein.";
    48. }
    49. }
    50. }
    51. if($meldFalsch) die($meldFehler.$meldFalsch.$meldFehler2);
    52. }
    53. }
    54. for($x=0; $x < count($feld); $x++)
    55. {
    56. if($feld[$x] == "Betreff") { $actBetreff = $inhalt[$x]; }
    57. if($feld[$x] == "Absender") { $formAbsender = $inhalt[$x]; }
    58. if($feld[$x] == "Email") { $formEmail = $inhalt[$x]; }
    59. if($feld[$x] == "MODanke") { $seiteDanke = $inhalt[$x]; }
    60. if($feld[$x] == "MOTo") { $empfangAdresse = $inhalt[$x]; }
    61. if($feld[$x] == "MOToName") { $empfangName = $inhalt[$x]; }
    62. if($feld[$x] == "MOKopie") { $doKopie = $inhalt[$x]; }
    63. if($feld[$x] == "MOInhalt") { $doInhalt = $inhalt[$x]; }
    64. if($feld[$x] == "MOBCC") { $empfangBCC = $inhalt[$x]; }
    65. if($doKopie == "j" && $feld[$x] == "Email")
    66. { $formCC = $inhalt[$x]; }
    67. if(substr($feld[$x],0,2) != "MO")
    68. {
    69. if($doInhalt == "j")
    70. {
    71. if($inhalt[$x])
    72. {
    73. $inhalt[$x] = htmlentities($inhalt[$x]);
    74. $inhalt[$x] = str_replace("\n","<br>",$inhalt[$x]);
    75. if($feld[$x] == "Nachricht")
    76. {
    77. $bodyEmail .= "<br>$inhalt[$x]<br><br>";
    78. }
    79. else
    80. {
    81. $bodyEmail .= "$feld[$x]: $inhalt[$x]<br>";
    82. }
    83. }
    84. }
    85. else
    86. {
    87. $inhalt[$x] = htmlentities($inhalt[$x]);
    88. $inhalt[$x] = str_replace("\n","<br>",$inhalt[$x]);
    89. if($feld[$x] == "Nachricht")
    90. {
    91. $bodyEmail .= "<br>$inhalt[$x]<br><br>";
    92. }
    93. else
    94. {
    95. $bodyEmail .= "$feld[$x]: $inhalt[$x]<br>";
    96. }
    97. }
    98. }
    99. }
    100. $mailHeader1 = "From:$formAbsender <$formEmail>\n";
    101. $mailHeader1 .= "Reply-To: $formEmail\n";
    102. $mailHeader1 .= "Return-Path: $formEmail\n";
    103. $mailHeader1 .= "Error-To: $formEmail\n";
    104. if($empfangBCC) $mailHeader1 .= "bcc: $empfangBCC\n";
    105. $mailHeader1 .= "X-Mailer: GrammiwebMailOpen\n";
    106. $mailHeader1 .= "X-Sender-IP: $REMOTE_ADDR\n";
    107. $mailHeader1 .= "Content-Type: text/html";
    108. mail($empfangAdresse,$actBetreff,$bodyEmail,$mailHeader1);
    109. #echo "$bodyEmail<br>$mailHeader1<br><br>To: $empfangAdresse<br>Betreff: $actBetreff<br>URL: $actDanke";
    110. if($formCC)
    111. {
    112. $mailHeader2 = "From:$empfangName <$empfangAdresse>\n";
    113. $mailHeader2 .= "Reply-To: $empfangAdresse\n";
    114. $mailHeader2 .= "Return-Path: $empfangAdresse\n";
    115. $mailHeader2 .= "Error-To: $empfangAdresse\n";
    116. $mailHeader2 .= "X-Mailer: GrammiwebMailOpen\n";
    117. $mailHeader2 .= "X-Sender-IP: $REMOTE_ADDR\n";
    118. $mailHeader2 .= "Content-Type: text/html";
    119. mail($formEmail,"Danke: ".$actBetreff,$bodyDankEmail,$mailHeader2);
    120. #echo "<p><hr>$bodyDankEmail<br>$mailHeader2<br><br>To: $formEmail<br>Betreff: $actBetreff";
    121. }
    122. echo "<META CONTENT=\"0; URL=$seiteDanke\" HTTP-EQUIV=\"REFRESH\">";
    123. ?>
    Alles anzeigen


    Und würd eich auch gerne wissen,w enn ich neue Felder hinzufügen oder andere Entfernen, bzw. ändern will, wo muss ich dann was genau machen? Nicht, dass cih einfach auf gut Glück losmach und dann is alles im Eimer.

    Ich hoffe, es kann mir jemand helfen.

    LG

    Fipsi
  • Hi,

    also das script hab ich wo runtergeladen... aber, vollidioten sterben ja nie aus, ich hab die Anleitung nicht gelesen... dadrin steht, wie es funktioniert... es liegen noch andere dateien ebi (html) und über die funktioniert es... also, ich behalt jez doch lieber das, weil bei dem hab cih mich jetzt schon schön eingearbeitet.
    Aber meine frage bleibt immernoch, wie cihw eitere felder hinzufügen kann... weil wenn cih sie nur auf der html-datei hinzufügen würde, wurde die datei ja bestimmt nicht wissen, was sie dmit anfangen soll... helft mir bitte.

    LG

    Fipsi

    Edit: ok, auch das hab cih jetzt rausgebracht.
    -close- pls

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fipsi ()

  • Moin,


    also, ich glaub, ich nehm jetzt mal das Formular... wenn es wirklich so sein sollte, dann werde cih es entfernen und d0nut's verwenden, weil mit dem bin ich jetzt shcon so gut wie fertig, also hab meine 3 schon... und cih will nich wieder von vorne anfangen^^
    Bitte nennt mich nicht Respektlos, aber das war jetzt doch etwas arbeit... und diese möchte ich mir nur wieder machen, wenns umbedingt sein muss... ich nehme eigentlich auch gerne verbesserungsvorschläge entgegen, aber das ist mir dann zu viel (erstmal), weil cih ja noch x andereseiten machen muss....

    LG

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fipsi ()

  • Es geht ja nicht nur um Verbesserungsvorschläge. Weil dein Script nicht alle Eingaben prüft kann man auf deinem Server schlimme Sachen machen. Das nenne ich "fahrlässig" ;)

    Das Argument, dass deine Seite ja keiner kennt zählt nicht.
    Solche Anfragen laufen meist automatisiert ab. Wenn Google deine Seite kennt, dann kennen sie auch die bösen Cracker.