login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Contactformulier

Offline Rob - 07/02/2006 16:36
Avatar van RobHTML interesse
  1. <?
  2. $mailto = "webmaster@ngame.nl"; //jouw email adres
  3.  
  4. if($_POST){
  5. if(empty($_POST['naam'])){
  6. echo "Je hebt geen <b>naam</b> ingevuld!!!";
  7. }
  8. elseif(empty($_POST['bericht'])){
  9. echo "Je hebt geen <b>bericht</b> ingevuld!!!";
  10. }
  11.  
  12. elseif(empty($_POST['mail'])){
  13. echo "Je hebt geen <b>emailadres</b> ingevuld!!!";
  14. }
  15. else{
  16. if($_POST['onderwerp'] == 'bug'){
  17. $onderwerp = "Bug";
  18. }
  19. elseif($_POST['onderwerp'] == 'idee'){
  20. $onderwerp = "Idee";
  21. }
  22. elseif($_POST['onderwerp'] == 'vraag'){
  23. $onderwerp = "Vraag";
  24. }
  25. else{
  26. $onderwerp = "Overige";
  27. }
  28. $header = "From: ".$_POST['naam']." < ".$_POST['mail']." >";
  29. mail($mailto, $onderwerp, $_POST['bericht'], $header);
  30. echo "Je mail is <b>succesvol</b> verzonden, ".$_POST['naam'];
  31. }
  32. }
  33. else{
  34. echo "<form method='POST' action='".$_SERVER['REQUEST_URI']."'>
  35. Naam:<br>
  36. <input type='text' name='naam' size='20'><br>
  37. <br>
  38. Email-adres:<br>
  39. <input type='text' name='mail' size='20'><br>
  40. <br>
  41. Onderwerp:<br>
  42. <select size='1' name='onderwerp'>
  43. 43 <option value='optie 1' selected>bug</option>
  44. 44 <option value='optie 2'>idee</option>
  45. 45 <option value='optie 3'>vraag</option>
  46. 46 <option value='optie 4'>overige</option>
  47. </select><br>
  48. <br>
  49. Bericht:<br>
  50. <textarea rows='11' name='bericht' cols='45'></textarea><br>
  51. <br>
  52. <input type='submit' value='Mail!' name='B1'>
  53. </form> ";
  54. }
  55. ?>

Als ik een onderwerp kies, krijg ik telkens overige in mijn mailbox binnen.
Wat is er fout?

3 antwoorden

Gesponsorde links
Offline delta_004 - 07/02/2006 16:39 (laatste wijziging 07/02/2006 16:41)
Avatar van delta_004 Onbekend $_POST['onderwerp'] zorgt niet voor bug ofzo
Bij post kijk het altijd naar het value dus in dit geval zouw het optie . zijn.
Maar die staat niet in je if dus kijk hij bij else.
Dus je moet je values bij je select veranderen.


  1. <?
  2. $mailto = "webmaster@ngame.nl"; //jouw email adres
  3.  
  4. if($_POST){
  5. if(empty($_POST['naam'])){
  6. echo "Je hebt geen <b>naam</b> ingevuld!!!";
  7. }
  8. elseif(empty($_POST['bericht'])){
  9. echo "Je hebt geen <b>bericht</b> ingevuld!!!";
  10. }
  11.  
  12. elseif(empty($_POST['mail'])){
  13. echo "Je hebt geen <b>emailadres</b> ingevuld!!!";
  14. }
  15. else{
  16. if($_POST['onderwerp'] == 'bug'){
  17. $onderwerp = "Bug";
  18. }
  19. elseif($_POST['onderwerp'] == 'idee'){
  20. $onderwerp = "Idee";
  21. }
  22. elseif($_POST['onderwerp'] == 'vraag'){
  23. $onderwerp = "Vraag";
  24. }
  25. else{
  26. $onderwerp = "Overige";
  27. }
  28. $header = "From: ".$_POST['naam']." < ".$_POST['mail']." >";
  29. mail($mailto, $onderwerp, $_POST['bericht'], $header);
  30. echo "Je mail is <b>succesvol</b> verzonden, ".$_POST['naam'];
  31. }
  32. }
  33. else{
  34. ?>
  35. <form method='POST' action=''>
  36. Naam:<br>
  37. <input type='text' name='naam' size='20'><br>
  38. <br>
  39. Email-adres:<br>
  40. <input type='text' name='mail' size='20'><br>
  41. <br>
  42. Onderwerp:<br>
  43. <select size='1' name='onderwerp'>
  44. 43 <option value='optie 1' selected>bug</option>
  45. 44 <option value='optie 2'>idee</option>
  46. 45 <option value='optie 3'>vraag</option>
  47. 46 <option value='optie 4'>overige</option>
  48. </select><br>
  49. <br>
  50. Bericht:<br>
  51. <textarea rows='11' name='bericht' cols='45'></textarea><br>
  52. <br>
  53. <input type='submit' value='Mail!' name='B1'>
  54. </form>
  55. <?
  56. }
  57. ?>

- Doe grote stukke buite html zette
- Doe inspringe dat is duidelijker
Offline Rens - 07/02/2006 16:40
Avatar van Rens Gouden medaille

Crew algemeen
Je checkt bijv. op:
  1. if($_POST['onderwerp'] == 'bug'){

Maar in je formulier staan:
  1. <option value='optie 1' selected>bug</option>

Dus daar heeft hij de waarde 'optie 1'.
Gebruik:
  1. if($_POST['onderwerp'] == 'optie 1'){

of:
  1. <option value='bug' selected>bug</option>
.

Ook zou je het zo kunnen doen:
  1. <option value='1' selected>bug</option>
  2. <option value='2'>idee</option>
  3. <option value='3'>vraag</option>
  4. <option value='4'>overige</option>

En dan checken:
  1. if(IsSet($_POST['onderwerp']))
  2. {
  3. switch($_POST['onderwerp'])
  4. {
  5. case "1":
  6. $onderwerp = "Bug";
  7. break;
  8. case "2":
  9. $onderwerp = "Idee";
  10. break;
  11. case "3":
  12. $onderwerp = "Vraag";
  13. break;
  14. case "4":
  15. $onderwerp = "Overige";
  16. break;
  17. default:
  18. $onderwerp = "Overige";
  19. }
  20. }
Offline Rob - 07/02/2006 16:55
Avatar van Rob HTML interesse Thanks Rensjuh. Het werkt nu.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.254s