login  Naam:   Wachtwoord: 
Registreer je!
 Forum

e-mail formulier

Offline jvc1 - 18/02/2007 11:16
Avatar van jvc1Nieuw lid ik heb zojuist hier een e-mail formulier gevonden, maar ik krijg hem niet werkent:?: kan misschien iemand er naar kijken of alles goed is?

  1. <? ob_start();
  2.  
  3.  
  4. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  5. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  6. header("Cache-Control: no-store, no-cache, must-revalidate");
  7. header("Cache-Control: post-check=0, pre-check=0", false);
  8. header("Pragma: no-cache");
  9.  
  10.  
  11. $site = "http://jordy.collem.nl";
  12. $wm_naam = "jordy";
  13. $wm_email = "jordy@collem.nl";
  14. $Anti_Spam = "10";
  15. $fout_text = TRUE;
  16. $fout_vakje = TRUE;
  17. $html = TRUE;
  18.  
  19.  
  20. $ip = $_SERVER['REMOTE_ADDR'];
  21. $host = gethostbyaddr($ip);
  22.  
  23. function checkmail($email)
  24. {
  25. $email_host = explode("@", $email);
  26. $email_host = $email_host[1];
  27. $email_resolved = gethostbyname($email_host);
  28.  
  29. if($email_resolved == $email_host)
  30. {
  31. $valid = FALSE;
  32. }
  33. if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
  34. {
  35. $valid = TRUE;
  36. }
  37. else
  38. {
  39. $valid = FALSE;
  40. }
  41. return $valid;
  42. }
  43.  
  44.  
  45. if(!isset($_COOKIE['mailformulier']))
  46. {
  47. if(isset($_POST['wis']))
  48. {
  49. foreach ($_POST as $key => $value)
  50. {
  51. unset($value);
  52. }
  53. header("Location: ".$_SERVER['PHP_SELF']."");
  54. }
  55.  
  56. if(isset($_POST['verzenden']))
  57. {
  58. $naam = trim($_POST['naam']);
  59. $email = trim($_POST['email']);
  60. $onderwerp = trim($_POST['onderwerp']);
  61. $bericht = trim($_POST['bericht']);
  62. $fout = "";
  63.  
  64. if($html)
  65. {
  66. // Headers
  67. $headers = "From: \"Contact Formulier\" <".$wm_email.">\r\n";
  68. $headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
  69. $headers .= "Return-Path: Mail-Error <".$wm_email.">\n";
  70. $headers .= "MIME-Version: 1.0\n";
  71. $headers .= "Content-Transfer-Encoding: 8bit\n";
  72. $headers .= "Content-type: text/html; charset=iso-8859-1\n";
  73.  
  74. // Bericht
  75. $message = "
  76. <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
  77. <html>
  78. <head>
  79. <style type=\"text/css\">
  80. body {
  81. border-right: 5px;
  82. border-top: 5px;
  83. border-left: 5px;
  84. border-bottom: 5px;
  85. font: 10px Verdana, Arial, Helvetica, sans-serif;
  86. }
  87. table {
  88. font: 10px Verdana, Arial, Helvetica, sans-serif;
  89. }
  90. table, a:link {
  91. color: #000;
  92. text-decoration: none;
  93. }
  94. table, a:visited {
  95. color: #000;
  96. text-decoration: none;
  97. }
  98. table, a:hover {
  99. color: #000;
  100. font-weight: bold;
  101. text-decoration: none;
  102. }
  103. </style>
  104. </head>
  105.  
  106. <body>
  107. <br />
  108. <table>
  109. <tr><td>Naam:</td><td>".$naam."</td></tr>
  110. <tr><td>Email:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>
  111. <br />
  112. <tr><td>Bericht:</td><td>".$bericht."</td></tr>
  113. <tr><td colspan=\"2\">&nbsp;</td></tr>
  114. <br />
  115. <tr><td>Datum:</td><td>".date("d-m-Y H:i:s")."</td></tr>
  116. <tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain=".$ip."\">".$ip."</a></td></tr>
  117. <tr><td>Host:</td><td>".$host."</td></tr>
  118. </table>
  119.  
  120. </body>
  121. </html>";
  122.  
  123. }
  124. else
  125. {
  126. $bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
  127. // Headers
  128. $headers = "From: \"Contact Formulier\" <".$wm_naam.">\n";
  129. $headers .= "MIME-Version: 1.0\n";
  130. $headers .= "Content-type: text/plain; charset='iso-8859-1'\n";
  131.  
  132. // Bericht
  133. $message = "Naam: ".$naam." \n";
  134. $message .= "E-mail: ".$email." \n";
  135. $message .= "Bericht:\n".$bericht_wrap." \n ";
  136. $message .= " \n ";
  137. $message .= "Datum: ".date("d-m-Y H:i:s")." \n";
  138. $message .= "------------------------------------------------------- \n ";
  139. $message .= "IP: ".$ip." \n ";
  140. $message .= "Host: ".$host." \n ";
  141.  
  142. }
  143. if((empty($naam)) OR (strlen($naam) < 3) OR (eregi("[<>]", $naam)))
  144. {
  145. $fout .= "U bent vergeten uw naam in te vullen! <br />";
  146. unset($naam);
  147. $fout_vakje_naam = "input_fout";
  148. $fout_text_naam = "text_fout";
  149. }
  150. if((empty($email)) OR (strlen($email) < 7) OR (eregi("[<>]", $email)))
  151. {
  152. $fout .= "U bent vergeten uw e-mail adres in te vullen! <br />";
  153. unset($email);
  154. $fout_vakje_email = "input_fout";
  155. $fout_text_email = "text_fout";
  156. }
  157. elseif(checkmail($email) == 0)
  158. {
  159. $fout .= "Vul een correct e-mail adres in! <br />";
  160. unset($email);
  161. $fout_vakje_email = "input_fout";
  162. $fout_text_email = "text_fout";
  163. }
  164. if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
  165. {
  166. $fout .= "U bent vergeten een onderwerp in te vullen! <br />";
  167. unset($onderwerp);
  168. $fout_vakje_onderwerp = "input_fout";
  169. $fout_text_onderwerp = "text_fout";
  170. }
  171. if(empty($bericht))
  172. {
  173. $fout .= "U bent vergeten een bericht in te vullen! <br />";
  174. unset($bericht);
  175. $fout_vakje_bericht = "input_fout";
  176. $fout_text_bericht = "text_fout";
  177. }
  178. elseif(strlen($bericht) < 6)
  179. {
  180. $fout .= "Uw bericht is tekort! <br />";
  181. $fout_vakje_bericht = "input_fout";
  182. $fout_text_bericht = "text_fout";
  183. }
  184. if(!$fout_text)
  185. {
  186. unset($fout_text_naam);
  187. unset($fout_text_email);
  188. unset($fout_text_onderwerp);
  189. unset($fout_text_bericht);
  190. }
  191. if(!$fout_vakje)
  192. {
  193. unset($fout_vakje_naam);
  194. unset($fout_vakje_email);
  195. unset($fout_vakje_onderwerp);
  196. unset($fout_vakje_bericht);
  197. }
  198. if(!empty($fout))
  199. {
  200. echo "\n<p style=\"color:#FF0000;\">\n".$fout."<br />\n</p>\n"; // Weergeven van de fout(en)
  201. }
  202. else
  203. {
  204. mail($wm_email,$onderwerp,$message,$headers);
  205.  
  206. // Bericht als mail succesvol is verzonden
  207. echo "<head><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\"></head>";
  208. echo "<br /><p style=\"text-align: center;\">Uw contact bericht is succesvol verzonden!<br />";
  209. echo "Er word zo snel mogelijk gereageerd.<br /><br />";
  210. echo "Met vriendelijke groeten,<br />";
  211. echo "<b>".$wm_naam."</b></p>";
  212.  
  213. // cookie zetten tegen spam
  214. setcookie("mailformulier",1,time()+($Anti_Spam*60));
  215.  
  216. // formulier wordt niet weer getoond
  217. $Formulier = TRUE;
  218.  
  219. header("refresh:3;url=".$site."");
  220. }
  221. }
  222. }
  223. else {
  224. $Formulier = FALSE;
  225. echo "<html><head><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" /></head><body>";
  226. echo "<p style=\"text-align: center;\"><h2> Spam Beveiliging </h2><br />";
  227. echo "U kunt maar eens in de $Anti_Spam minuten een e-mail versturen!</p></body></html>";
  228. header("refresh:3;url=".$site."");
  229. }
  230.  
  231. if(!isset($Formulier))
  232. {
  233. ?>
  234. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  235. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  236.  
  237. <html xmlns="http://www.w3.org/1999/xhtml">
  238. <head>
  239. <link href="style.css" rel="stylesheet" type="text/css" />
  240.  
  241. <title>Contact Formulier</title>
  242. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  243. /* Created by Thijs */
  244. /* http://www.ferket.net */
  245. </head>
  246.  
  247. <body>
  248. <table class="tabel" border="1" cellpadding="5" cellspacing="0" width="300">
  249. <tr>
  250. <td><br />
  251. <form method="post" action="<? $_SERVER['PHP_SELF']; ?>">
  252. <table>
  253. <tr>
  254. <td>&nbsp;</td>
  255. <td>&nbsp;</td>
  256. </tr>
  257. <tr>
  258. <td class="<? echo $fout_text_naam; ?>">Naam:</td>
  259. <td><input type="text" class="<? echo $fout_vakje_naam; ?>" id="naam" name="naam" maxlength="20" value="<? if (!empty($naam)) { echo stripslashes($naam); } ?>" /></td>
  260. </tr>
  261. <tr>
  262. <td class="<? echo $fout_text_email; ?>">Email:</td>
  263. <td><input type="text" class="<? echo $fout_vakje_email; ?>" id="email" name="email" maxlength="30" value="<? if (!empty($email)) { echo $email; } ?>" /></td>
  264. </tr>
  265. <tr>
  266. <td class="<? echo $fout_text_onderwerp; ?>">Onderwerp:</td>
  267. <td><input type="text" class="<? echo $fout_vakje_onderwerp; ?>" id="onderwerp" name="onderwerp" maxlength="30" value="<? if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>" /></td>
  268. </tr>
  269. <tr>
  270. <td valign="top" class="<? echo $fout_text_bericht; ?>">Bericht:</td>
  271. <td><textarea id="bericht" name="bericht" class="<? echo $fout_vakje_bericht; ?>" cols="35" rows="6"><? if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea></td>
  272. </tr>
  273. <tr>
  274. <td>&nbsp;</td>
  275. <td><input type="submit" id="verzenden" name="verzenden" value="Verzenden" /><input type="submit" id="wis" name="wis" value="Wis velden" /></td>
  276. </tr>
  277. </table>
  278. </form>
  279. </td>
  280. </tr>
  281. </table>
  282. </body>
  283. </html>
  284. <?
  285. }
  286. ?>


alvast bedankt

jordy

7 antwoorden

Gesponsorde links
Offline Nanon - 18/02/2007 11:19 (laatste wijziging 18/02/2007 11:20)
Avatar van Nanon PHP interesse Een verwijzing naar het script (hier in de scriptlib) of pastebin is ook handig.

Maar het formulier dat je standaard van Sitemasters afhaalt, hoort gewoon te werken. Ik heb hem vroeger ook vaak gebruikt.

En test je hem op een localhost?
Offline jvc1 - 18/02/2007 12:19
Avatar van jvc1 Nieuw lid beste nanon,

ik heb hem getest op localhost, presies het zelfde verhaal, een wit blanco scherm.


jordy
Offline timo - 18/02/2007 12:27
Avatar van timo PHP ver gevorderde lappen code op pastebin!!!
Offline jvc1 - 18/02/2007 13:06
Avatar van jvc1 Nieuw lid http://www.plaatscode.be/4247/
Offline Nanon - 18/02/2007 14:11
Avatar van Nanon PHP interesse Maar localhosts ondersteunen meestal geen mail(); Hierover heb ik nog een topic gestart vanmorgen.
Offline jvc1 - 18/02/2007 14:14
Avatar van jvc1 Nieuw lid maar weten jullie misschien wat ik verkeerd die in die scrip?

Offline delta_004 - 18/02/2007 14:17
Avatar van delta_004 Onbekend
Citaat:
Maar localhosts ondersteunen meestal geen mail(); Hierover heb ik nog een topic gestart vanmorgen.


Localhost onderstuent het wel je moet alleen mail server en poort invullen in je php.ini
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s