login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP contactform met MySQL

Offline michielvsb - 13/08/2005 18:32
Avatar van michielvsbHTML interesse Weet iemand wat er mis is met deze code?
  1. <html>
  2. <head>
  3. <title>Untitled Document</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. </head>
  6.  
  7. <body>
  8. <?
  9.  
  10. mysql_connect('192.168.0.11','u47801759','123123');
  11. mysql_select_db('u47801759') or die (mysql_error());
  12. ?>
  13. <?
  14. if(!empty($_POST['Submit']))
  15. {
  16. if(strlen($_POST['name']) == 0)
  17. { $error_msg ="- Voer a.u.b. uw naam in.<br>"; }
  18. if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
  19. { $error_msg .="- Voer astublieft een geldig email adres in.<br>"; }
  20. if(strlen($_POST['field']) ==0)
  21. { $error_msg .="- Laat aub weten wat je aan ons wilt vragen.<br>"; }
  22.  
  23. if(!empty($error_msg))
  24. {
  25. //Een van de velden werd niet goed ingevuld
  26. echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>";
  27. echo $error_msg;
  28. echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
  29. }
  30. else
  31. {
  32. $recipient = "miciel.vanschoonbeek@skynet.be"; //Het email adres van de persoon die vragen moet ontvangen.
  33. $subject = $sub; //Subject van de mail.
  34. $header = "From: " . $uwemail . "\n";
  35. $mail_body = "Contact script werd op " . date("d-m-Y") . " om " . date("H:i") . " uur uitgevoerd.\n";
  36. $mail_body .= "De volgende persoon vulde het contact formulier in:\n\n";
  37. $mail_body .= "Naam: " . $_POST['name'] . "\n";
  38. $mail_body .= "E-mailadres: " . $_POST['uwemail'] . "\n\n";
  39. $mail_body .= "Bericht:\n";
  40. $mail_body .= $_POST['field'];
  41. $mail_body .= "\n\n -- Einde van het contact bericht --";
  42. mail($recipient, $subject, $mail_body, $header);
  43. echo "<b>Uw bericht is succesvol verzonden</b><br>Er zal zo spoedig mogelijk contact met u opgenomen worden.</b><br>";
  44. echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";
  45. $voornaam = $_POST['name'];
  46. $email = $_POST['uwemail'];
  47. $bericht = $_POST['field'];
  48. mysql_query("INSERT INTO test (voornaam, email, bericht) VALUES ('".$voornaam."','".$email."', '".$bericht."')") or die (mysql_error());
  49. }
  50. }
  51. else
  52. {
  53. ?>
  54. <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST" name="contact">
  55. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  56. <tr>
  57. <td><br>
  58. <table width="80%" height="155" border="0" align="center" cellpadding="0" cellspacing="0">
  59. <tr>
  60. <td height="2">&nbsp;</td>
  61. <td height="2"><font size="1"><strong>(Velden met een * zijn verplicht)</strong></font></td>
  62. <td height="2">&nbsp;</td>
  63. </tr>
  64. <tr>
  65. <td height="2">Naam : </td>
  66. <td height="2" colspan="2"> <input type="text" name="name" size="20">
  67. <font size="2">* </font></td>
  68. </tr>
  69. <tr>
  70. <td height="2">Email adres :</td>
  71. <td height="2" colspan="2"> <input type="text" name="uwemail" size="20">
  72. <font size="2"> * </font></td>
  73. </tr>
  74. <tr>
  75. <td width="321" class="Kleiner"> Subject :</td>
  76. <td colspan="2"> <input type="text" name="sub" size="20"> </td>
  77. </tr>
  78. <tr>
  79. <td width="321" class="Kleiner">Vraag :</td>
  80. <td width="216" rowspan="2"> <textarea name="field" wrap="VIRTUAL" cols="20"></textarea>
  81. <font size="2">&nbsp; </font></td>
  82. <td width="257"><font size="2">*</font></td>
  83. </tr>
  84. <tr>
  85. <td width="321" class="Kleiner">&nbsp;</td>
  86. <td>&nbsp;</td>
  87. </tr>
  88. <tr>
  89. <td width="321">&nbsp;</td>
  90. <td colspan="2"> <div align="left">
  91. <input type="Submit" name="Submit" value="Verzenden">
  92. </div></td>
  93. </tr>
  94. </table>
  95. <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
  96. <tr>
  97. <td>&nbsp;</td>
  98. </tr>
  99. </table>
  100. </td>
  101. </tr>
  102. </table>
  103. </form>
  104. </body>
  105. </html>

Ik ben een echte beginner qua php en mysql.

7 antwoorden

Gesponsorde links
Offline Stijn - 13/08/2005 18:43 (laatste wijziging 13/08/2005 18:48)
Avatar van Stijn PHP expert vraagje: wrm sluit jij je PHP-code en heropen je het opnieuw op de volgende lijn  
  1. <?
  2. if(isset($_POST['Submit']))
  3. {
  4. if(!isset($_POST['name']) OR empty($_POST['name']))
  5. {
  6. $error_msg ="- Voer a.u.b. uw naam in.<br>";
  7. }
  8. if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
  9. {
  10. $error_msg .="- Voer astublieft een geldig email adres in.<br>";
  11. }
  12. if(!isset($_POST['field']) OR empty($_POST['field']))
  13. {
  14. $error_msg .="- Laat aub weten wat je aan ons wilt vragen.<br>";
  15. }
  16.  
  17. if(!empty($error_msg))
  18. {
  19. //Een van de velden werd niet goed ingevuld
  20. echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>";
  21. echo $error_msg;
  22. echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
  23. }
  24. else
  25. {
  26. $recipient = "miciel.vanschoonbeek@skynet.be"; //Het email adres van de persoon die vragen moet ontvangen.
  27. $subject = $sub; //Subject van de mail.
  28. $header = "From: $uwemail \n";
  29. $date = date("d-m-Y");
  30. $uur = date("H:i");
  31. $mail_body = "Contact script werd op $date om $uur uur uitgevoerd.\n";
  32. $mail_body .= "De volgende persoon vulde het contact formulier in:\n\n";
  33. $mail_body .= "Naam: $_POST[name] \n";
  34. $mail_body .= "E-mailadres: $_POST[uwemail] \n\n";
  35. $mail_body .= "Bericht:\n";
  36. $mail_body .= $_POST['field'];
  37. $mail_body .= "\n\n -- Einde van het contact bericht --";
  38. mail($recipient, $subject, $mail_body, $header);
  39. echo "<b>Uw bericht is succesvol verzonden</b><br>Er zal zo spoedig mogelijk contact met u opgenomen worden.</b><br>";
  40. echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";
  41. $voornaam = $_POST['name'];
  42. $email = $_POST['uwemail'];
  43. $bericht = $_POST['field'];
  44. mysql_query("INSERT INTO test (voornaam, email, bericht) VALUES ('".$voornaam."','".$email."', '".$bericht."')") or die (mysql_error());
  45. }
  46. }
  47. else
  48. {
  49. ?>


mvg Stijn

edit

ow, ben niet wakker, herlees net je code 
Kan je probleem eens uitleggen? wat voor error? 
Offline michielvsb - 13/08/2005 18:54
Avatar van michielvsb HTML interesse bij de laatste else stond dit :
  1. else
  2. {

Dit moet zijn :
  1. else
  2. {}

Dan geeft hij die foutmelding niet meer, maar als je op verzenden drukt gebeurd er niets. Of hij moet de errors weergeven of hij moet zeggen dat het bericht succesvol is verzonden. Hij maakt ook geen nieuwe gegevens aan in de database:$ Dus nu sta ik nog geen stap verder.
Offline lasdesigner - 13/08/2005 19:21
Avatar van lasdesigner PHP beginner $uwmail moet dat niet zijn $_POST['uwmail']
of
$uwmail = $_POST['uwmail'];
Offline michielvsb - 13/08/2005 19:25
Avatar van michielvsb HTML interesse maakt dat zoveel uit. de variable $email zal toch gewoon als waarde hebben de tekst die in het tekstvak wordt ingegeven.:?:
Offline Simon - 13/08/2005 19:27
Avatar van Simon PHP expert dit is te riskant, gebruik superglobals zoals gezegd

en als je noob bent op dat gebied, waarom wil je het dan gaan beter weten?
Offline nemesiskoen - 13/08/2005 19:29
Avatar van nemesiskoen Gouden medaille

PHP expert
Citaat:
Ik ben een echte beginner qua php en mysql.

Citaat:
de variable $email zal toch gewoon als waarde hebben de tekst die in het tekstvak wordt ingegeven.

je bevestigd met de tweede quote duidelijk de eerste quote.

Dit is niet zo. De tijd gaat vooruit en PHP ook... ze hebben iets uitgevonden: "superglobals" ($_). Vroeger kon je alleen jou manier gebruiken, toen beide en nu alleen maar superglobals (of je moet het in je php.ini file anders hebben ingesteld).
Offline michielvsb - 13/08/2005 19:51
Avatar van michielvsb HTML interesse Ik heb het script aangepast maar hij doet het nog steeds niet.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s