login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Mailform - include

Offline DjNoiz - 18/09/2004 23:32
Avatar van DjNoizNieuw lid Hallo Sitemasters,

Ik gebruik een mailformulier op m'n website en dat werkt(te) perfect.
Als ik het script in een php-pagina zet en het formulier invul en verzendt, gaat alles zoals het hoort.
Wanneer ik het script echter include in een andere php-bestand gaat het fout en wordt na het klikken op verzenden de gebruiker meteen doorgelinkt naar de $after en wordt het formulier ook niet verzonden!
Dit is mijn script:
  1. <?php
  2.  
  3. $y_name = "Dj Noiz";
  4.  
  5. $y_email = "info@djnoiz.be";
  6.  
  7. $autor = "yes";
  8.  
  9. $autor_mail = "Beste $naam,\n\nBedankt om mij te contacteren via mijn webformulier, ik stuur zo snel mogelijk een bericht terug!\n\nGreetz,\n\nDj Noiz\n\nContact: info@djnoiz.be\nWebsite: www.djnoiz.be\n\"Being a dj is not just a job for me, it's my calling\"";
  10.  
  11. $autor_subject = "Contactformulier .:: w w w . d j n o i z . b e ::.";
  12.  
  13. $after = "http://www.djnoiz.be/home.php?pagina=home";
  14.  
  15. $rfields = "naam,email,onderwerp,bericht";
  16.  
  17. if (isset($sent)) {
  18. if (!$rfields == "") {
  19. $rfields = explode(",", $rfields);
  20.  
  21. for($i = 0; $i < count($rfields); $i++) {
  22. if ($$rfields[$i] == "") {
  23. echo "<center>U hebt het verplichte veld <b>$rfields[$i]</b> niet ingevuld.<br>Klik <a href=\"javascript:history.back(1)\">hier</a> om terug te gaan en het ontbrekende veld in te vullen.</center>";
  24. }
  25. }
  26. }
  27. if (!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email)) {
  28. echo "<center>Uw e-mailadres <b>$email</b> is ongeldig!<br>Klik <a href=\"javascript:history.back(1)\">hier</a> om een juist e-mailadres in te vullen.</center>";
  29. }
  30.  
  31.  
  32. $fmail = "$y_name,\n\ner werd een e-mail verzonden via het webfomulier met de volgende informatie:\n\n";
  33. $fmail.= "IP Address: $REMOTE_ADDR\n";
  34.  
  35. $fields = array_keys($HTTP_POST_VARS);
  36. for($i = 0; $i < count($fields); $i++) {
  37. $temp = $fields[$i];
  38. if ($temp == "rfields" || $temp == "submit" || $temp == "sent" || $temp == "y_name" || $temp == "y_email" || $temp == "autor" || $temp == "autor_message" || $temp == "$autor_mail" || $temp == "$autor_subject" || $temp == "after")
  39. $fmail = $fmail;
  40. else {
  41. $temp1 = stripslashes($HTTP_POST_VARS[$temp]);
  42. $fmail.= "$temp: $temp1\n";
  43. }
  44. }
  45. $fmail.= "\nPowered by w w w . d j n o i z . b e (http://www.djnoiz.be)";
  46. $mailed = mail($y_email, $onderwerp, $fmail, "From: $naam <$email>");
  47. if ($autor == "yes")
  48. {
  49. $autor_subject = stripslashes($autor_subject);
  50. $autor_mail = stripslashes($autor_mail);
  51. mail($email, $autor_subject, $autor_mail, "From: $y_name <$y_email>");
  52.  
  53. }
  54. if(!$mailed) {
  55. echo "Er is iets mis met het script of de configuratie. E-mail daarom best naar <a href=\"mailto:$y_email\">Dj Noiz</a>, de webmaster!";
  56. }
  57. echo"<center>
  58. <meta http-equiv='refresh' content='5; URL=$after'>
  59. Beste $naam,<br><br>Je bericht is succesvol verzonden!<br>
  60. Binnen 5 seconden keer je terug. Klik anders <a href=$after>hier</a>.<br><br>Greetz,<br><br>Dj Noiz
  61. </font></center>";
  62.  
  63. } else {
  64. ?>
  65. <form action="<? echo ($_SERVER['PHP_SELF']); ?>" method="post">
  66. <table align="center">
  67. <tr>
  68. <td class="formulier"><b>Naam<font class="sterreke">*</font>: </b></td>
  69. <td><input name="naam" type="text" id="naam" size="40" class="formulier"></td>
  70. </tr>
  71. <tr>
  72. <td class="formulier"><b>E-mail<font class="sterreke">*</font>: </b></td>
  73. <td><input name="email" type="text" size="40" id="email" class="formulier"></td>
  74. </tr>
  75. <tr>
  76. <td class="formulier"><b>Straat: </b></td>
  77. <td><input name="straat" type="text" id="straat" size="40" class="formulier"></td>
  78. </tr>
  79. <tr>
  80. <td class="formulier"><b>Nummer: </b></td>
  81. <td><input name="nummer" type="text" id="nummer" size="40" class="formulier" maxlength="4"></td>
  82. </tr>
  83. <tr>
  84. <td class="formulier"><b>Postcode: </b></td>
  85. <td><input name="postcode" type="text" id="postcode" size="40" class="formulier" maxlength="4"></td>
  86. </tr>
  87. <tr>
  88. <td class="formulier"><b>Gemeente: </b></td>
  89. <td><input name="gemeente" type="text" id="gemeente" size="40" class="formulier"></td>
  90. </tr>
  91. <tr>
  92. <td class="formulier"><b>Telefoon: </b></td>
  93. <td><input name="tel" type="text" id="tel" size="40" class="formulier" maxlength="15"></td>
  94. </tr>
  95. <tr>
  96. <td class="formulier"><b>GSM:</b></td>
  97. <td><input name="gsm" type="text" id="gsm" size="40" class="formulier" maxlength="15"></td>
  98. </tr>
  99. <tr>
  100. <td class="formulier"><b>Website:</b></td>
  101. <td><input name="website" type="text" id="website" size="40" class="formulier" value="http://"></td>
  102. </tr>
  103. <tr>
  104. <td class="formulier"><b>Onderwerp<font class="sterreke">*</font>:</b></td>
  105. <td><input name="onderwerp" type="text" id="onderwerp" size="40" class="formulier"></td>
  106. </tr>
  107. <tr>
  108. <td class="formulier"><b>Bericht<font class="sterreke">*</font>:</b></td>
  109. <td><textarea name="bericht" id="bericht" rows="5" cols="39" colspan="5" class="formulier"></textarea></td>
  110. </tr>
  111. <tr>
  112. <td class="verplicht">Velden met een <font class="sterreke">*</font> zijn verplicht!</td>
  113. </tr>
  114. <tr>
  115. <td><input type="submit" name="submit" value="Verzenden" class="formulier">
  116. <input type="reset" name="reset" value="Wis alle velden" class="formulier">
  117. <!-- DO NOT EDIT -->
  118. <input type="hidden" name="sent" value="yes"> </td>
  119. </tr>
  120. </table>
  121. </form>
  122. <?
  123. }
  124. ?>

Alvast bedankt!

3 antwoorden

Gesponsorde links
Offline Thomas - 19/09/2004 00:06
Avatar van Thomas Moderator De action van je form is waarschijnlijk niet goed...
Dit moet waarschijnlijk $_SERVER['REQUEST_URI'] zijn in plaats van $_SERVER['PHP_SELF'].

PHP_SELF pakt alleen de filename van je script dacht ik, en je hebt waarschijnlijk je hele querystring nodig - dit neem REQUEST_URI ook mee.
Offline DjNoiz - 19/09/2004 13:35 (laatste wijziging 19/09/2004 13:38)
Avatar van DjNoiz Nieuw lid Bedankt FangorN (had er over gekeken )

Nog een vraagje:
Hoe komt het dat als je het script verzendt en je bijvoorbeeld een verplicht veld niet hebt ingevuld, de error die hieraan vasthangt wordt afgeprint op een blancopagina zonder opmaak (terwijl ik zou verwachten dat hij de error afprint op de plaats waar het script is ge-include ...)?
Weet iemand hoe ik ervoor kan zorgen dat dit wel correct gebeurt?
Alvast erg bedankt!
Offline DjNoiz - 19/09/2004 18:49
Avatar van DjNoiz Nieuw lid Ik heb het al gevonden!
Het lag aan de action van het <form> ...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s