php-E-Mail-Formular

  • php-E-Mail-Formular

    HAllo zusammen,

    ja, ich schon wieder mit meinem Formular^^
    Ich hab ein "fertig"-Forumlar aus dem Internet runtergeladen.
    Das ist eine, für mcih, ziemliche php-datei. Und ich will jetzt noch hinzufügen, dass die IP-Adresse des Absenders angezeigt wird. Doch ich weiß nicht, wie ich das in den code integriere, der die E-Mail "formt".
    Das zweite ist: Ich möchte gerne andere Felder hinzufügen, bzw. entfernen. Doch auch hier weiß ich nicht, wie ich den php-teil ändern muss, der die E-Mail formt.

    Da sist jetzt mein Jetziger Code:

    Quellcode

    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    2. <html>
    3. <head>
    4. <title>Kontakt- Fipsis Server</title>
    5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    6. </head>
    7. <body>
    8. <h1>Kontakt</h1><br>
    9. <?php
    10. // *** Einstellungen ***
    11. $mail_to = 'kontakt@fipsii.de'; // Ihre Mailadresse (Empfängeradresse)
    12. // #############################################################################
    13. $from_name=GetParam('fromname');
    14. $from_mail=strtolower(GetParam('frommail'));
    15. $mail_subject=GetParam('mailsubject');
    16. $mail_text=GetParam('mailtext');
    17. $send=GetParam('s');
    18. $err_text='';
    19. if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
    20. if(trim($from_mail)=='')
    21. $err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
    22. else
    23. if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/i',$from_mail))
    24. $err_text.='Bitte geben Sie eine gültige E-Mail-Adresse an.<br>';
    25. if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
    26. if(trim($mail_text)=='') $err_text.='Bitte geben Sie einen Nachrichtentext ein.<br>';
    27. // *** Zu langen Text abschneiden ***
    28. if(strlen($mail_text)>1000) {
    29. $mail_text=substr($mail_text,0,1000).'... (Text wurde gekürzt!)';
    30. }
    31. $from_name=str_replace(chr(34),"''",$from_name);
    32. $mail_subject=str_replace(chr(34),"''",$mail_subject);
    33. $from_name=stripslashes($from_name);
    34. $from_mail=stripslashes($from_mail);
    35. $mail_subject=stripslashes($mail_subject);
    36. $mail_text=stripslashes($mail_text);
    37. if (($send == '1') && ($err_text != '')) {
    38. echo '<p><big><b>Fehler:</b></big><br>';
    39. echo $err_text.'</p>';
    40. }
    41. if (($send != '1') || ($err_text != '')) {
    42. ?>
    43. <form action="<?=GetParam('PHP_SELF','S')?>" method="post">
    44. <table border=0 cellspacing=2 cellpadding=0 width=100%>
    45. <tr><td nowrap align=right>Ihr Name:</td><td>&nbsp;</td>
    46. <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td></tr>
    47. <tr><td nowrap align=right>Ihre E-Mail-Adresse:</td><td></td>
    48. <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td></tr>
    49. <tr><td nowrap align=right>Betreff:</td><td></td>
    50. <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?=$mail_subject?>"></td></tr>
    51. <tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
    52. <td width=100%><textarea cols=40 rows=10 name="mailtext"><?=$mail_text?></textarea></td></tr>
    53. <tr><td></td><td></td><td>
    54. <input type="hidden" value="1" name="s">
    55. <input type="submit" value="Nachricht versenden" name="submit">
    56. </td></tr>
    57. </table>
    58. </form>
    59. <?php
    60. } else {
    61. $header="From: $from_name <$from_mail>\n";
    62. $header.="Reply-To: $from_mail\n";
    63. $header.="X-Mailer: PHP-ContactForm-Script\n";
    64. $header.="Content-Type: text/plain";
    65. $mail_date=gmdate('D, d M Y H:i:s').' +0000';
    66. $send=0;
    67. if(@mail($mail_to,$mail_subject,$mail_text,$header))
    68. {
    69. echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
    70. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
    71. }else{
    72. echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
    73. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    74. echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
    75. }
    76. }
    77. function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
    78. if ($Method == 'P') {
    79. if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
    80. } else if ($Method == 'G') {
    81. if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
    82. } else if ($Method == 'S') {
    83. if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
    84. }
    85. }
    86. ?>
    87. </body>
    88. </html>
    Alles anzeigen


    Ich hoffe, ihr könnt mir helfen.

    LG
    Fipsi
  • dazu gehst du auf die php.net
    und suchst dir die nötigen funktionen/variablen raus
    zum beispiel hier :de3.php.net/manual/de/reserved.variables.server.php

    das ganze musst du dann in html einbinden und gut is
    :D

    du musst schon konkretter deine fragen stellen oder deine anfrage im jobforum posten.

    das ist ein forum und und kein mach mir mal board :P
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.
  • hm... also ich hab mir gerade an den anderen teilen was "abgeschaut" und den cod jetzt so gebaut:

    Quellcode

    1. <?php error_reporting(E_ALL); ?>
    2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    3. <html>
    4. <head>
    5. <title>Kontakt- Fipsis Server</title>
    6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    7. </head>
    8. <body>
    9. <h1>Kontakt</h1><br>
    10. <?php
    11. // *** Einstellungen ***
    12. $mail_to = 'kontakt@fipsii.de'; // Ihre Mailadresse (Empfängeradresse)
    13. // #############################################################################
    14. $from_name=GetParam('fromname');
    15. $from_mail=strtolower(GetParam('frommail'));
    16. $mail_subject=GetParam('mailsubject');
    17. $mail_text=GetParam('mailtext');
    18. $send=GetParam('s');
    19. $ip-abs['REMOTE_ADDR'];
    20. $err_text='';
    21. if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
    22. if(trim($from_mail)=='')
    23. $err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
    24. else
    25. if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/i',$from_mail))
    26. $err_text.='Bitte geben Sie eine gültige E-Mail-Adresse an.<br>';
    27. if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
    28. if(trim($mail_text)=='') $err_text.='Bitte geben Sie einen Nachrichtentext ein.<br>';
    29. // *** Zu langen Text abschneiden ***
    30. if(strlen($mail_text)>1000) {
    31. $mail_text=substr($mail_text,0,1000).'... (Text wurde gekürzt!)';
    32. }
    33. $from_name=str_replace(chr(34),"''",$from_name);
    34. $mail_subject=str_replace(chr(34),"''",$mail_subject);
    35. $from_name=stripslashes($from_name);
    36. $from_mail=stripslashes($from_mail);
    37. $mail:text=stripslashes($abs-ip);
    38. $mail_subject=stripslashes($mail_subject);
    39. $mail_text=stripslashes($mail_text);
    40. if (($send == '1') && ($err_text != '')) {
    41. echo '<p><big><b>Fehler:</b></big><br>';
    42. echo $err_text.'</p>';
    43. }
    44. if (($send != '1') || ($err_text != '')) {
    45. ?>
    46. <form action="<?=GetParam('PHP_SELF','S')?>" method="post">,
    47. <table border=0 cellspacing=2 cellpadding=0 width=100%>
    48. <tr><td nowrap align=right>&nbsp;</td><td><input type="hidden" name="absip" value="<?=$ip-abs?>"></td></tr>
    49. <tr><td nowrap align=right>Ihr Name:</td><td>&nbsp;</td>
    50. <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td></tr>
    51. <tr><td nowrap align=right>Ihre E-Mail-Adresse:</td><td></td>
    52. <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td></tr>
    53. <tr><td nowrap align=right>Betreff:</td><td></td>
    54. <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?=$mail_subject?>"></td></tr>
    55. <tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
    56. <td width=100%><textarea cols=40 rows=10 name="mailtext"><?=$mail_text?></textarea></td></tr>
    57. <tr><td></td><td></td><td>
    58. <input type="hidden" value="1" name="s">
    59. <input type="submit" value="Nachricht versenden" name="submit">
    60. </td></tr>
    61. </table>
    62. </form>
    63. <?php
    64. } else {
    65. $header="From: $from_name <$from_mail>\n";
    66. $header.="Reply-To: $from_mail\n";
    67. $header.="X-Mailer: PHP-ContactForm-Script\n";
    68. $header.="Content-Type: text/plain";
    69. $mail_date=gmdate('D, d M Y H:i:s').' +0000';
    70. $send=0;
    71. if(@mail($mail_to,$mail_subject,$mail_text,$header))
    72. {
    73. echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
    74. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
    75. }else{
    76. echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
    77. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    78. echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
    79. }
    80. }
    81. function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
    82. if ($Method == 'P') {
    83. if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
    84. } else if ($Method == 'G') {
    85. if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
    86. } else if ($Method == 'S') {
    87. if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
    88. }
    89. }
    90. ?>
    91. </body>
    92. </html>
    Alles anzeigen


    Allerdings wird mir nichts, auch keine fehlermeldung, angezeigt... könnt ihr mir sagen, warum?
    Edit: ach ja, so siehts aus: fipsii.de/kontakt.php
  • 2) ich glaub, ich brauch ne Brille...

    Edit: hm... ok, bnlödheit gehört bestraft:D
    ich dachte, die empfänger-E-Mail_Adresse ist "fest" in der php-datei... na ja, das dürfte ich gerne noch hinkriegen, umzuschreiben:D

    Edit die 2: ach, und ncoh ne Frage, cih glaube, das war 3^^:
    ist es Möglich, Felder als Pflichtfelder zu "bauen"? oder sind die schon pflichtfelder?

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