Toon posts:

[PHP]Contact-formulier werkt niet.

Pagina: 1
Acties:
  • 73 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb de onderstaande broncode geschreven. Maar wanneer ik hem probeer te openen geeft de pagina de volgende foutmelding: Parse error: parse error, unexpected T_IF in /home/counters/public_html/Home/Contact/index.php on line 28. (in dit geval line 10)

Ik ben nu al een uur aan het kijken en proberen maar ik snap gewoon niet wat er fout is. Heb tevens voorbeelden vanuit het boek bekeken en die doen volgens mij precies het zelfde:S
  1. <?php
  2. if(isset($_POST['SubmitContact'])){
  3. //HTML- en PHP-Tags uit de invoervelden verwijderen
  4. $naam=strip_tags($_POST['naam']);
  5. $email=strip_tags($_POST['email']);
  6. $vraag=strip_tags($_POST['vraag']);
  7. $emailontvanger=$_POST['emailontvanger']
  8. if(strlen($naam)<3){
  9. $error_msg="U moet uw naam nog invullen.<br>";
  10. }
  11. if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$email)){
  12. $error_msg.="Geef een geldig e-mailadres op.<br>";
  13. }
  14. if(strlen($vraag)<10){
  15. $error_msg.="Er is geen vraag gesteld.<br>";
  16. }
  17. if(isset($error_msg)){
  18. //Een van de velden is niet juist ingevuld
  19. echo "Helaas kan uw vraag om de volgende reden niet worden verwerkt:<br><br>";
  20. echo $error_msg;
  21. echo "<br>Klik op <a href=javascript:history.back(1)>vorige</a> en vul alle velden in.";
  22. }else{
  23. if ($emailontvanger == 1) {
  24. //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
  25. $recipient="[mbr][norml]frits@geenspam.com[/][/]","[mbr][norml]piet@geenspam.com[/][/]";
  26. $subject="Iemand wil lid worden of een nieuw team aanmelden";
  27. $header="From: " . $email . "\r\n";
  28. $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
  29. $mail_body.="Het bevat de volgende inhoud:\n\n";
  30. $mail_body.="Naam: " . $naam . "\n";
  31. $mail_body.="eMail: " . $email . "\n\n";
  32. $mail_body.="Vraag:\n";
  33. $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
  34. mail($recipient,$subject,$mail_body,$header);
  35. //Formulier verzonden - melden
  36. echo "Bedankt voor uw vraag.";
  37. }
  38. if ($emailontvanger == 2) {
  39. //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
  40. $recipient="[mbr][norml]frits@geenspam.com[/][/]";
  41. $subject="Iemand wil Sponsor worden of een advertentie op onze website plaatsen.";
  42. $header="From: " . $email . "\r\n";
  43. $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
  44. $mail_body.="Het bevat de volgende inhoud:\n\n";
  45. $mail_body.="Naam: " . $naam . "\n";
  46. $mail_body.="eMail: " . $email . "\n\n";
  47. $mail_body.="Vraag:\n";
  48. $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
  49. mail($recipient,$subject,$mail_body,$header);
  50. //Formulier verzonden - melden
  51. echo "Bedankt voor uw vraag!.";
  52. }
  53. if ($emailontvanger == 3) {
  54. //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
  55. $recipient="[mbr][norml]piet@geenspam.com[/][/]";
  56. $subject="Er is een vraag over scheidsrechters en/of spelregels.";
  57. $header="From: " . $email . "\r\n";
  58. $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
  59. $mail_body.="Het bevat de volgende inhoud:\n\n";
  60. $mail_body.="Naam: " . $naam . "\n";
  61. $mail_body.="eMail: " . $email . "\n\n";
  62. $mail_body.="Vraag:\n";
  63. $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
  64. mail($recipient,$subject,$mail_body,$header);
  65. //Formulier verzonden - melden
  66. echo "Bedankt voor uw vraag.";
  67. }
  68. if ($emailontvanger == 4) {
  69. //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
  70. $recipient="[mbr][norml]frits@geenspam.com[/][/]";
  71. $subject="Er is een vraag en/of opmerking over de ledenadministratie.";
  72. $header="From: " . $email . "\r\n";
  73. $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
  74. $mail_body.="Het bevat de volgende inhoud:\n\n";
  75. $mail_body.="Naam: " . $naam . "\n";
  76. $mail_body.="eMail: " . $email . "\n\n";
  77. $mail_body.="Vraag:\n";
  78. $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
  79. mail($recipient,$subject,$mail_body,$header);
  80. //Formulier verzonden - melden
  81. echo "Bedankt voor uw vraag.";
  82. }
  83. if ($emailontvanger == 0) {
  84. //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
  85. $recipient="[mbr][norml]frits@geenspam.com[/][/]";
  86. $subject="Er is een vraag/opmerking over de Website.";
  87. $header="From: " . $email . "\r\n";
  88. $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
  89. $mail_body.="Het bevat de volgende inhoud:\n\n";
  90. $mail_body.="Naam: " . $naam . "\n";
  91. $mail_body.="eMail: " . $email . "\n\n";
  92. $mail_body.="Vraag:\n";
  93. $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
  94. mail($recipient,$subject,$mail_body,$header);
  95. //Formulier verzonden - melden
  96. echo "Bedankt voor uw vraag.";
  97. }
  98. }
  99. }else{
  100. //Formulier nog niet verzonden - Formulier weergeven
  101. ?>
  102. <tr>
  103. <td valign="top" width="320">
  104. <table class="formulier" border="0" cellpadding="0" cellspacing="0">
  105. <tr>
  106. <td class="formulier" width="30"><form name="contact" action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">
  107. <input type="radio" name="emailontvanger"></td>
  108. <td><b>Lid worden</b></td>
  109. </tr>
  110. <tr>
  111. <td class="formulier" width="30">
  112. <td class="formulier">Wil je lidworden van The Counters of een Team voor volgend seizoen aan melden selecteer dan Lid worden</td>
  113. </tr>
  114. <tr>
  115. <td class="formulier" width="30"><input type="radio" name="emailontvanger"></td>
  116. <td><b>Sponsor worden</b></td>
  117. </tr>
  118. <tr>
  119. <td class="formulier" width="30">
  120. <td class="formulier">Heeft u intresse om sponsor van The Counters te worden, of wilt u uw advertentie op onze site plaatsen selecteer dan Sponsor worden</td>
  121. </tr>
  122. <tr>
  123. <td class="formulier" width="30"><input type="radio" name="emailontvanger"></td>
  124. <td><b>Scheidsrechters- en Spelregelszaken</b></td>
  125. </tr>
  126. <tr>
  127. <td class="formulier" width="30">
  128. <td class="formulier">Wil je iets weten over Scheidsrechters en/of zijn er Spelregels waar je meer van wilt weten selecteer dan Scheidsrechters- en Spelregelszaken</td>
  129. </tr>
  130. <tr>
  131. <td class="formulier" width="30"><input type="radio" name="emailontvanger"></td>
  132. <td><b>Ledenadministratie</b></td>
  133. </tr>
  134. <tr>
  135. <td class="formulier" width="30">
  136. <td class="formulier">Heb je een vraag of opmerking over de ledenlijst, of andere zaken die betrekking hebben met de ledenadminstratie selecteer dan Ledenaministratie</td>
  137. </tr>
  138. <tr>
  139. <td class="formulier" width="30"><input type="radio" name="emailontvanger"></td>
  140. <td><b>Website</b></td>
  141. </tr>
  142. <tr>
  143. <td class="formulier" width="30">
  144. <td class="formulier">Voor vragen/opmerkingen of andere onderwerpen met betrekking tot onze website moet je het vakje Website selecteren</td>
  145. </tr>
  146. <tr>
  147. <td height="20"></td>
  148. </tr>
  149. <tr>
  150. <td class="formulier" colspan="2">Voer hier uw naam in:</td>
  151. <tr>
  152. <td class="formulier" colspan="2"><input type="text" name="naam" size="35"></td>
  153. </tr>
  154. <tr>
  155. <td class="formulier" colspan="2">Voer hier uw e-mail adress in:</td>
  156. <tr>
  157. <td class="formulier" colspan="2"><input type="text" name="email" size="35"></td>
  158. </tr>
  159. <td class="formulier" colspan="2">Voer hier vraag in:</td>
  160. <tr>
  161. <td class="formulier" colspan="2"><textarea name="vraag" cols="37" rows="10"></textarea></td>
  162. </tr>
  163. <tr>
  164. <td colspan="2" class="formulier"><input type="submit" name="SubmitContact" value="verzenden"></td></form>
  165. </tr>
  166. </table>
  167. </td>
  168. </tr>
  169. <?php
  170. }
  171. ?>
Ik weet niet of het de bedoeling is om het hele script te plaatsen, of alleen het gedeelte waar de fout zit maar goed.

Alvast bedankt..

[ Voor 22% gewijzigd door NMe op 16-11-2005 13:41 ]


  • sariel
  • Registratie: Mei 2004
  • Laatst online: 24-03 12:54
PHP:
1
 $recipient="frits@geenspam.com","piet@geenspam.com";


daar gaat het fout.
correct is:

PHP:
1
 $recipient="frits@geenspam.com, piet@geenspam.com";

[ Voor 40% gewijzigd door NMe op 16-11-2005 13:39 ]

Copy.com


  • sariel
  • Registratie: Mei 2004
  • Laatst online: 24-03 12:54
En doe ajb die code tussen [ code ] tags.....het is niet fijn leesbaar zo.

Copy.com


  • jwchess
  • Registratie: Februari 2001
  • Niet online
Ik zou van $emailontvanger=$_POST['emailontvanger'] het volgende maken: $emailontvanger=$_POST['emailontvanger'];

  • writser
  • Registratie: Mei 2000
  • Laatst online: 16-04 20:35
puntkomma vergeten .. ?

Onvoorstelbaar!


Verwijderd

Dit kan niet:
$recipient="[mbr][norml]frits@geenspam.com[/][/]","[mbr][norml]piet@geenspam.com[/][/]";

volgens mij staat daar een komma en zou het iets moeten zijn van:
$recipient="[mbr][norml]frits@geenspam.com[/][/], [mbr][norml]piet@geenspam.com[/][/]";

edit:
bijna op tijd

[ Voor 56% gewijzigd door NMe op 16-11-2005 13:38 ]


  • sariel
  • Registratie: Mei 2004
  • Laatst online: 24-03 12:54
Wat misschien zou kunnen helpen is dat je wat optimalisatie doet, want voor ieder type mailtje heb je een heel stuk code gecopypaste. Zet de gewijzigde stukken in een case of if-statement, en laat de delen die niet gewijzigd hoeven te worden buiten de ifs....scheelt een hoop code, en ALLES is een HEEL stuk leesbaarder.

Copy.com


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Parse error zijn altijd tikfoutjes en die moet je er met een beetje simpel debuggen gewoon uit kunnen halen. Als je een editor met syntax highlighting gebruikt, dan zie je dit soort fouten zelfs in één oogopslag. Volgende keer dus zelf even debuggen, dat moet bij parse errors echt geen probleem kunnen zijn.

Ten tweede hebben we hier een [code]-tag. Zoals je nu je code hebt gepost is echt onleesbaar. Lees dit maar eens door: Hoe post je code? / Hoe gebruik je de code tag?.

Als laatste puntje: ik weet niet of die mailadressen van jou zijn, maar ik kan me niet voorstellen dat de mensen waar die adressen van zijn graag spam ontvangen. Ik edit die adressen dus even weg. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.