Homepage Kontaktformular ( HTML / PHP )

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

  • Homepage Kontaktformular ( HTML / PHP )

    Guten Tag.

    Ich habe mir heute ein Script für ein Kontaktformular runtergeladen, da ich mich ein wenig mit PHP befassen möchte und eine Kontaktmöglichkeit für meine HP brauchte :)

    Jetzt habe ich aber ein Problem, denn der Betreff wird bei der versendeten EMail nicht angezeigt bzw es heißt immer "Kein Betreff". Ich bin zwar PHP-Neuling, vermute aber, dass es war mit folgenden Zeilen zu tun hat:

    PHP-Quellcode

    1. $header.="From: \"".$_POST["name"]."\" <".$_POST["email"].">".$_POST["betreff"]."\n";

    und

    PHP-Quellcode

    1. mail("\"".$deinname."\"<".$deinemailadresse."> ".$betreff."",$nachricht1,$header);

    Hier ist das ganze Script ( Wie es vorher war, da ging es aber auch noch nicht )
    Spoiler anzeigen

    PHP-Quellcode

    1. <html>
    2. <?php include "config.php"; ?>
    3. <head>
    4. <title><?php echo $titel; ?></title>
    5. <meta name="author" content="icqgamergames">
    6. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    7. <link rel="stylesheet" type="text/css" href="style.css">
    8. </head>
    9. <body>
    10. <div align="center">
    11. <br><br>
    12. <?php
    13. if(isset($_POST["submit"]))
    14. {
    15. if(!$_POST["name"] || empty($_POST["name"]))
    16. { ?>
    17. <div align="center"><span class="mail"><?php echo $label_vergessen; ?>: Name.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
    18. <?php }
    19. elseif(!$_POST["email"] || empty($_POST["email"]))
    20. { ?>
    21. <div align="center"><span class="mail"> <?php echo $label_vergessen; ?>: eMail-Adresse.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
    22. <?php }
    23. elseif(!$_POST["betreff"] || empty($_POST["betreff"]))
    24. { ?>
    25. <div align="center"><span class="mail"> <?php echo $label_vergessen; ?>: Betreff.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
    26. <?php }
    27. elseif(!$_POST["nachricht"] || empty($_POST["nachricht"]))
    28. { ?>
    29. <div align="center"><span class="mail"> <?php echo $label_vergessen; ?>: Nachricht.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
    30. <?php }
    31. else
    32. {
    33. $header.="From: \"".$_POST["name"]."\" <".$_POST["email"].">\n";
    34. $header.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n";
    35. $header.="Content-Type: text/plain;\n";
    36. $header.="X-Mailer: PHP/".phpversion();
    37. $nachricht1 = "".$_POST["nachricht"]."\n\n";
    38. mail("\"".$deinname."\" <".$deinemailadresse.">",$betreff,$nachricht1, $header);
    39. $body_danke = "Hallo " . $_POST["name"] . $nachricht_danke;
    40. $header_danke.="\"".$deinname."\" <".$deinemailadresse.">";
    41. $header_danke.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n";
    42. $header_danke.="Content-Type: text/plain;\n";
    43. $header_danke.="X-Mailer: PHP/".phpversion();
    44. if($dank_mail == 1) mail("\"".$_POST["name"]."\" <".$_POST["email"].">",$betreff_danke,$body_danke,$header_danke);
    45. ?>
    46. <table border="0"><tr><td colspan="2" align="left">
    47. <span class="mail">Vielen Dank für folgende Nachricht</span></td></tr>
    48. <tr><td colspan="2" align="center">&nbsp;</td></tr>
    49. <tr><td><span class="mail"><?php echo $label_name; ?></span></td><td><?php echo $_POST["name"]; ?></td></tr>
    50. <tr><td><span class="mail"><?php echo $label_mail; ?></span></td><td><a href="mailto:<?php echo $_POST["email"]; ?>"><?php echo $_POST["email"]; ?></a></td></tr>
    51. <?php } ?>
    52. <tr><td valign="top"><span class="mail"><?php echo $label_nachricht; ?></b></td><td><?php echo nl2br($_POST["nachricht"]); ?></td></tr><tr>
    53. <tr><td colspan="2" align="center">&nbsp;</td></tr>
    54. <td colspan="2" align="center"><span class="mail"> <?php echo $info_danke; ?> </span></td></tr></table>
    55. <?php
    56. }
    57. else
    58. {
    59. ?>
    60. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
    61. <table border="0" cellspacing="0" cellpadding="5">
    62. <tr>
    63. <td><?php echo $label_name; ?></span></td>
    64. <td><input type="text" name="name" class="formular"></td>
    65. </tr>
    66. <tr>
    67. <td><?php echo $label_betreff; ?></td>
    68. <td><input type="text" name="betreff" class="formular"></td>
    69. </tr>
    70. <tr>
    71. <td><?php echo $label_mail; ?></td>
    72. <td><input type="text" name="email" class="formular"></td>
    73. </tr>
    74. <tr>
    75. <td valign="top"><?php echo $label_nachricht; ?></td>
    76. <td><textarea name="nachricht" cols="50" rows="5" class="feld"></textarea></td>
    77. </tr>
    78. <tr>
    79. <td>&nbsp;</td>
    80. <td align="left"><input type="reset" value="zurücksetzen" class="formular">&nbsp;<input type="submit" value="abschicken" name="submit" class="formular"></td>
    81. </tr>
    82. </table>
    83. </form>
    84. <?php } ?>
    85. </div>
    86. </body>
    87. </html>
    Alles anzeigen



    Hier ist das veränderte von mir ( Habe da auch nur an den beiden Zeilen rumgebastelt, die ich euch am Anfang gegeben habe )

    Spoiler anzeigen

    PHP-Quellcode

    1. <html>
    2. <?php include "config.php"; ?>
    3. <head>
    4. <title><?php echo $titel; ?></title>
    5. <meta name="author" content="icqgamergames">
    6. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    7. <link rel="stylesheet" type="text/css" href="style.css">
    8. </head>
    9. <body>
    10. <div align="center">
    11. <br><br>
    12. <?php
    13. if(isset($_POST["submit"]))
    14. {
    15. if(!$_POST["name"] || empty($_POST["name"]))
    16. { ?>
    17. <div align="center"><span class="mail"><?php echo $label_vergessen; ?>: Name.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
    18. <?php }
    19. elseif(!$_POST["email"] || empty($_POST["email"]))
    20. { ?>
    21. <div align="center"><span class="mail"> <?php echo $label_vergessen; ?>: eMail-Adresse.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
    22. <?php }
    23. elseif(!$_POST["betreff"] || empty($_POST["betreff"]))
    24. { ?>
    25. <div align="center"><span class="mail"> <?php echo $label_vergessen; ?>: Betreff.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
    26. <?php }
    27. elseif(!$_POST["nachricht"] || empty($_POST["nachricht"]))
    28. { ?>
    29. <div align="center"><span class="mail"> <?php echo $label_vergessen; ?>: Nachricht.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
    30. <?php }
    31. else
    32. {
    33. $header.="From: \"".$_POST["name"]."\" <".$_POST["email"].">".$_POST["betreff"]."\n";
    34. $header.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n";
    35. $header.="Content-Type: text/plain;\n";
    36. $header.="icqgamergames: PHP/".phpversion();
    37. $nachricht1 = "".$_POST["nachricht"]."\n\n";
    38. mail("\"".$deinname."\"<".$deinemailadresse."> ".$betreff."",$nachricht1,$header);
    39. $body_danke = "Hallo " . $_POST["name"] . $nachricht_danke;
    40. $header_danke.="\"".$deinname."\" <".$deinemailadresse.">";
    41. $header_danke.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n";
    42. $header_danke.="Content-Type: text/plain;\n";
    43. $header.="icqgamergames: PHP/".phpversion();
    44. if($dank_mail == 1) mail("\"".$_POST["name"]."\" <".$_POST["email"].">",$betreff_danke,$body_danke,$header_danke);
    45. ?>
    46. <table border="0"><tr><td colspan="2" align="left">
    47. <span class="mail">Vielen Dank für folgende Nachricht</span></td></tr>
    48. <tr><td colspan="2" align="center">&nbsp;</td></tr>
    49. <tr><td><span class="mail"><?php echo $label_name; ?></span></td><td><?php echo $_POST["name"]; ?></td></tr>
    50. <tr><td><span class="mail"><?php echo $label_mail; ?></span></td><td><a href="mailto:<?php echo $_POST["email"]; ?>"><?php echo $_POST["email"]; ?></a></td></tr>
    51. <?php } ?>
    52. <tr><td valign="top"><span class="mail"><?php echo $label_nachricht; ?></b></td><td><?php echo nl2br($_POST["nachricht"]); ?></td></tr><tr>
    53. <tr><td colspan="2" align="center">&nbsp;</td></tr>
    54. <td colspan="2" align="center"><span class="mail"> <?php echo $info_danke; ?> </span></td></tr></table>
    55. <?php
    56. }
    57. else
    58. {
    59. ?>
    60. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
    61. <table border="0" cellspacing="0" cellpadding="5">
    62. <tr>
    63. <td><?php echo $label_name; ?></span></td>
    64. <td><input type="text" name="name" class="formular"></td>
    65. </tr>
    66. <tr>
    67. <td><?php echo $label_betreff; ?></td>
    68. <td><input type="text" name="betreff" class="formular"></td>
    69. </tr>
    70. <tr>
    71. <td><?php echo $label_mail; ?></td>
    72. <td><input type="text" name="email" class="formular"></td>
    73. </tr>
    74. <tr>
    75. <td valign="top"><?php echo $label_nachricht; ?></td>
    76. <td><textarea name="nachricht" cols="50" rows="5" class="feld"></textarea></td>
    77. </tr>
    78. <tr>
    79. <td>&nbsp;</td>
    80. <td align="left"><input type="reset" value="zurücksetzen" class="formular">&nbsp;<input type="submit" value="abschicken" name="submit" class="formular"></td>
    81. </tr>
    82. </table>
    83. </form>
    84. <?php } ?>
    85. </div>
    86. </body>
    87. </html>
    Alles anzeigen



    Ich hoffe jemand kann den Fehler finden und mir weiterhelfen, ich bin am verweifeln :(

    Liebe Grüße
    icqgamer
  • Der Betreff ist ein eigener Parameter in der mail-Funktion. Soll heißen

    PHP-Quellcode

    1. mail(an, betreff, text, zusätzliche header)

    müsste funktionieren.

    © 2008 by Teamgrill Productions

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

  • Ja, ich bekomme die Mails, aber aktuell wird mir der Text ( Also Inhalt der Nachricht ) als Betreff gesendet.
    Der Kram mit von wem die EMail ist und wie er heißt ( Also sein Name ) funktioniert.

    Danke für deine schnelle Anwort, aber damit kann ich ( noch ) nicht sehr viel anfangen, könntest du mir eventuell ein wenig auf die Sprünge helfen? Ich wäre dir sehr dankbar.

    Liebe Grüße
    icqgamer
  • Das liegt, daran, dass du den Betreff an die Sende-Email angehängt hast, und nicht als Parameter der Funktion verwendest.

    PHP-Quellcode

    1. mail("\"".$deinname."\"<".$deinemailadresse."> ".$betreff."",$nachricht1,$header);

    müsste eigentlich so aussehen:

    PHP-Quellcode

    1. mail("\"".$deinname."\"<".$deinemailadresse.">",$betreff,$nachricht1,$header);


    So ist es übrigens auch im Originalscript ;) :P

    © 2008 by Teamgrill Productions
  • Hallo, wie du schon entdeckt hast ist es wie im Orginalskript, ja ^^
    Ich habe das für dich mal eingefügt, um dir zu zeigen, was ich dann für einen Quatsch erhalte xD



    Die rot einge"kreisten" Sachen, sind die: Betreff, Name, EMail, Text
    Das einzige was richtig angezeigt wird ist der Text und ein Betreff wird überhauptnicht angezeigt...

    Liebe Grüße
    icqgamer
  • Auf die Schnelle ist mir noch aufgefallen, dass du in den extra Header auch den Betreff einfügst, was unsinnig ist.
    Sieh dir mal die mail Funktion genau an und vergleiche die Verwendung.

    © 2008 by Teamgrill Productions
  • Hallo erneut,

    ich habe mir das jetzt ein wenig durchgelesen und habe rumgegrübelt, allerdings verstehe ich davon überhauptnichts..

    Allerdings habe ich ein wenig rumgebastelt, hier ist nun der wichtigste Code:

    Spoiler anzeigen

    PHP-Quellcode

    1. $header.="Betreff: ".$_POST["betreff"]."\n";
    2. $header.="From: \"".$_POST["name"]."\" <".$_POST["email"].">\n";
    3. $header.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n";
    4. $header.="Content-Type: text/plain;\n";
    5. $header.="icqgamergames: PHP/".phpversion();
    6. $nachricht1 = "".$_POST["nachricht"]."\n\n";
    7. mail("\"".$deinname."\" <".$deinemailadresse.">",".$betreff.", $nachricht1, $header);
    8. $body_danke = "Hallo " . $_POST["name"] . $nachricht_danke;
    9. $header_danke.="\"".$deinname."\" <".$deinemailadresse.">";
    10. $header_danke.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n";
    11. $header_danke.="Content-Type: text/plain;\n";
    12. $header.="icqgamergames: PHP/".phpversion();
    Alles anzeigen



    Ich habe

    PHP-Quellcode

    1. $header.="Betreff: ".$_POST["betreff"]."\n";
    hinzugefügt und ich habe

    PHP-Quellcode

    1. mail("\"".$deinname."\" <".$deinemailadresse.">",".$betreff.", $nachricht1, $header);
    das hier nun so abgeändert.

    Wenn ich nun eine EMail empfange, wird mir ein betreff angezeigt ALLERDINGS nur ".." und mehr nicht.
    Anfangs dachte ich, dass der Betreff nicht richtig übernommen wird, aber das kann nicht sein, ich habe nämlich ebenfalls folgendes hinzugefügt:

    PHP-Quellcode

    1. <tr><td><span class="mail"><?php echo $label_betreff; ?></span></td><td><?php echo $_POST["betreff"]; ?></td></tr>

    und hier wird er auch richtig angezeigt..

    Liebe Grüße
    icqgamer
  • Aaaalso, wie schon mal gesagt, den Betreff in den header einzufügen ist sinnlos. Dass als Betreff nur .. ausgegeben wird ist auch klar - du verwendest eine Variable ($betreff) die leer ist und setzt sie innerhalb eines Strings, der zwei Punkte erhält.

    Wenn du eine Variable innerhalb eines Strings einfügst, benötigst du die verknüpfenden . nicht. Desweiteren ist es sinnlos, eine Variable in einen String einzufügen, wenn du nur den Wert der variable brauchst.

    Lange Rede, kurzer Sinn:
    Statt ".$betreff." füg einfach mal $_POST["betreff"] ein. Und lass im Header die Betreffzeile weg, die bringt dir nix.

    © 2008 by Teamgrill Productions