login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Meerdere checkboxkeuzes doormailen

Offline WebVisual - 08/08/2005 14:01
Avatar van WebVisualLid Ben aant proberen om foto's weer te geven op een pagina en dat deze dan bestelt kunnen worden via mail. Probleem is momenteel dat hij maar 1 keuze doorstuurd van de checkboxen die aangevinkt staan. Kan iemand me ff helpen.

  1. <?php
  2. $emailadres = "info@smokalot.be";
  3. $sitenaam = "www.webvisual.be";
  4. $keuze=$_POST['keuze'];
  5.  
  6. if(isset($_GET['actie']) == "verzenden")
  7. {
  8. if(empty($_POST['naam']) || empty($_POST['email']) || empty($_POST['voornaam']))
  9. {
  10. echo "Je moet wel alle velden invullen!!";
  11. }
  12. else
  13. {
  14. mail($emailadres, $onderwerp, "Afzender: $voornaam $naam \nEmail adres: $email \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nKeuze: \n$keuze", "From: $naam || $sitenaam");
  15. echo "Bericht succesvol verzonden!";
  16. }
  17. }
  18. else
  19. {
  20. ?>
  21.  
  22. <form method="post" name="verzenden" action="<?=$_SERVER['PHP_SELF']?>?actie=verzenden">
  23. <table width="310" border="0" bgcolor="#CCCCCC">
  24. <tr>
  25. <td height="16" width="168"> Naam:</td>
  26. <td height="16" width="132">
  27. <input type="text" name="naam" size="22"></td>
  28. </tr>
  29. <tr>
  30. <td height="16" width="168"> Voornaam:</td>
  31. <td height="16" width="132">
  32. <input type="text" name="voornaam" size="22"></td>
  33. </tr>
  34. <tr>
  35. <td height="27" width="168"> Emailadres:</td>
  36. <td height="27" width="132">
  37. <input type="text" name="email" size="22"></td>
  38. </tr>
  39.  
  40.  
  41. <tr>
  42. <td height="140" colspan="2" align="center">
  43.  
  44. <table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
  45. <tr><td>1</td><td><img src="images/1.jpg"></td><td><input type="checkbox" name="keuze" value="1"></td></tr>
  46. <tr><td>2</td><td><img src="images/2.jpg"></td><td><input type="checkbox" name="keuze" value="2"></td></tr>
  47. <tr><td>3</td><td><img src="images/3.jpg"></td><td><input type="checkbox" name="keuze" value="3"></td></tr>
  48. <tr><td>4</td><td><img src="images/4.jpg"></td><td><input type="checkbox" name="keuze" value="4"></td></tr>
  49. <tr><td>5</td><td><img src="images/5.jpg"></td><td><input type="checkbox" name="keuze" value="5"></td></tr>
  50. <tr><td>6</td><td><img src="images/6.jpg"></td><td><input type="checkbox" name="keuze" value="6"></td></tr>
  51. <tr><td>7</td><td><img src="images/7.jpg"></td><td><input type="checkbox" name="keuze" value="7"></td></tr>
  52. <tr><td>8</td><td><img src="images/8.jpg"></td><td><input type="checkbox" name="keuze" value="8"></td></tr>
  53. <tr><td>9</td><td><img src="images/9.jpg"></td><td><input type="checkbox" name="keuze" value="9"></td></tr>
  54. <tr><td>10</td><td><img src="images/10.jpg"></td><td><input type="checkbox" name="keuze" value="10"></td></tr>
  55. </table>
  56.  
  57. </td>
  58. </tr>
  59. <tr>
  60. <td height="18" colspan="2" align="center">
  61. <input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
  62. </td>
  63. </tr>
  64. </table>
  65. </form>
  66. <?php
  67. }
  68. ?>

11 antwoorden

Gesponsorde links
Offline Gerard - 08/08/2005 14:05
Avatar van Gerard Ouwe rakker Op dit moment overschrijft hij volgens mij telkens de $_POST['keuze'] met de nieuwe waarde (hoogste?).

Probeer eens de naam van de checkboxes te vormen naar keuze[]

Dan kun je de $_POST['keuze'] bij de verwerking uitlezen daar dit dan een array is waarin je alle checkbox waardes hebt welke je wilt bestellen.

Hier zijn overigens meerdere topics over geweest, beetje zoeken had geen kwaad gekunt.
Offline WebVisual - 08/08/2005 14:12
Avatar van WebVisual Lid als ik dit zo gewoon doe
<tr><td>5</td><td><img src="images/5.jpg"></td><td><input type="checkbox" name="keuze[]" value="5"></td></tr>


dan krijg ik dit in men mail
Keuze:
Array

PS: heb gezocht via het zoekformulier maar vind het niet, kan jij mij misschien zeggen waar het staat
Offline Geerios - 08/08/2005 14:29
Avatar van Geerios Onbekend Je moet alle checkboxen een aparte naam geven! Dus als je alles de zelfde naam geeft gaat het vekeerd (zoals jij dat hebt gedaan)! Zo zou je je code misschien kunnen gebruiken:
  1. <?php
  2. $emailadres = "info@smokalot.be";
  3. $sitenaam = "www.webvisual.be";
  4. $array = array($_POST['1'], $_POST['2'], $_POST['3'], $_POST['4'], $_POST['5'], $_POST['6'], $_POST['7'], $_POST['8'], $_POST['9'], $_POST['10']);
  5. $keuze = implode (", ", $array);
  6.  
  7. if(isset($_GET['actie']) == "verzenden")
  8. {
  9. if(empty($_POST['naam']) || empty($_POST['email']) || empty($_POST['voornaam']))
  10. {
  11. echo "Je moet wel alle velden invullen!!";
  12. }
  13. else
  14. {
  15. mail($emailadres, $onderwerp, "Afzender: $voornaam $naam \nEmail adres: $email \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nKeuze: \n$keuze", "From: $naam || $sitenaam");
  16. echo "Bericht succesvol verzonden!";
  17. }
  18. }
  19. else
  20. {
  21. ?>
  22.  
  23. <form method="post" name="verzenden" action="<?=$_SERVER['PHP_SELF']?>?actie=verzenden">
  24. <table width="310" border="0" bgcolor="#CCCCCC">
  25. <tr>
  26. <td height="16" width="168"> Naam:</td>
  27. <td height="16" width="132">
  28. <input type="text" name="naam" size="22"></td>
  29. </tr>
  30. <tr>
  31. <td height="16" width="168"> Voornaam:</td>
  32. <td height="16" width="132">
  33. <input type="text" name="voornaam" size="22"></td>
  34. </tr>
  35. <tr>
  36. <td height="27" width="168"> Emailadres:</td>
  37. <td height="27" width="132">
  38. <input type="text" name="email" size="22"></td>
  39. </tr>
  40.  
  41.  
  42. <tr>
  43. <td height="140" colspan="2" align="center">
  44.  
  45. <table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
  46. <tr><td>1</td><td><img src="images/1.jpg"></td><td><input type="checkbox" name="1" value="1"></td></tr>
  47. <tr><td>2</td><td><img src="images/2.jpg"></td><td><input type="checkbox" name="2" value="2"></td></tr>
  48. <tr><td>3</td><td><img src="images/3.jpg"></td><td><input type="checkbox" name="3" value="3"></td></tr>
  49. <tr><td>4</td><td><img src="images/4.jpg"></td><td><input type="checkbox" name="4" value="4"></td></tr>
  50. <tr><td>5</td><td><img src="images/5.jpg"></td><td><input type="checkbox" name="5" value="5"></td></tr>
  51. <tr><td>6</td><td><img src="images/6.jpg"></td><td><input type="checkbox" name="6" value="6"></td></tr>
  52. <tr><td>7</td><td><img src="images/7.jpg"></td><td><input type="checkbox" name="7" value="7"></td></tr>
  53. <tr><td>8</td><td><img src="images/8.jpg"></td><td><input type="checkbox" name="8" value="8"></td></tr>
  54. <tr><td>9</td><td><img src="images/9.jpg"></td><td><input type="checkbox" name="9" value="9"></td></tr>
  55. <tr><td>10</td><td><img src="images/10.jpg"></td><td><input type="checkbox" name="10" value="10"></td></tr>
  56. </table>
  57.  
  58. </td>
  59. </tr>
  60. <tr>
  61. <td height="18" colspan="2" align="center">
  62. <input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
  63. </td>
  64. </tr>
  65. </table>
  66. </form>
  67. <?php
  68. }
  69. ?>
Offline Gerard - 08/08/2005 15:58 (laatste wijziging 08/08/2005 17:44)
Avatar van Gerard Ouwe rakker dat is absoluut niet dynamisch.

mijn methode werkt wel het beste alleen je moet natuurlijk wel eerste de array helemaal uitlezen zodat je netjes alle gegevens kan verwerken.

als je niet weet hoe -> Tutorials

edit: WebVisual, dat mag dan wel werken maar denk je ook even aan eventuele dynamiek die je wil implementeren in de toekomst.

Binnenkort kom je aan dat je 15 checkboxes wilt, en voor een andere cat 4. Kunnen wij weer een oplossing gaan geven die er al is.
Offline WebVisual - 08/08/2005 17:22
Avatar van WebVisual Lid Dat van Geerios werkt.

tnx
Offline Geerios - 08/08/2005 18:01
Avatar van Geerios Onbekend
Citaat:
Binnenkort kom je aan dat je 15 checkboxes wilt, en voor een andere cat 4. Kunnen wij weer een oplossing gaan geven die er al is.
Als hij dat dan wil, dan geef ik hem dit script:
  1. <?php
  2. $emailadres = "info@smokalot.be";
  3. $sitenaam = "www.webvisual.be";
  4. $max="15"; ////Het aantal foto's
  5. $array = array();
  6. for($i=0; $i<$max; $i++) {
  7. $array[]=$_POST[$i];
  8. }
  9. $keuze = implode (", ", $array);
  10.  
  11. if(isset($_GET['actie']) == "verzenden")
  12. {
  13. if(empty($_POST['naam']) || empty($_POST['email']) || empty($_POST['voornaam']))
  14. {
  15. echo "Je moet wel alle velden invullen!!";
  16. }
  17. else
  18. {
  19. mail($emailadres, $onderwerp, "Afzender: $voornaam $naam \nEmail adres: $email \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nKeuze: \n$keuze", "From: $naam || $sitenaam");
  20. echo "Bericht succesvol verzonden!";
  21. }
  22. }
  23. else
  24. {
  25. ?>
  26.  
  27. <form method="post" name="verzenden" action="<?=$_SERVER['PHP_SELF']?>?actie=verzenden">
  28. <table width="310" border="0" bgcolor="#CCCCCC">
  29. <tr>
  30. <td height="16" width="168"> Naam:</td>
  31. <td height="16" width="132">
  32. <input type="text" name="naam" size="22"></td>
  33. </tr>
  34. <tr>
  35. <td height="16" width="168"> Voornaam:</td>
  36. <td height="16" width="132">
  37. <input type="text" name="voornaam" size="22"></td>
  38. </tr>
  39. <tr>
  40. <td height="27" width="168"> Emailadres:</td>
  41. <td height="27" width="132">
  42. <input type="text" name="email" size="22"></td>
  43. </tr>
  44.  
  45.  
  46. <tr>
  47. <td height="140" colspan="2" align="center">
  48.  
  49. <table width="130" border="0" cellspacing="4" cellpadding="4" align="center">
  50. <? for($i=0; $i<$max; $i++) {
  51. echo "<tr><td>".$i."</td><td><img src=images/".$i.".jpg></td><td><input type=checkbox name=".$i." value=".$i."></td></tr>";
  52. } ?>
  53. </table>
  54. </td>
  55. </tr>
  56. <tr>
  57. <td height="18" colspan="2" align="center">
  58. <input type="submit" value="Verzenden!" name="verzenden"> <input type="reset" value="Wissen" name="wissen">
  59. </td>
  60. </tr>
  61. </table>
  62. </form>
  63. <?php
  64. }
  65. ?>
Je kan dit script natuurlijk ook gewoon nu meteen gerbuiken want dit is overzichtelijker en korter !
Offline Gerard - 08/08/2005 18:14
Avatar van Gerard Ouwe rakker en dan nog moet je zelf aangeven hoeveel items het zijn.

Waarom niet COMPLEET dynamisch maken de foto's die je wilt bestellen direct in 1 array gooien?
Offline Geerios - 08/08/2005 18:18
Avatar van Geerios Onbekend Als hij er vragen over heeft of wil dat ik hem helemaal gratis naar zijn zin maak wil ik dat doen hoor!
Offline Gerard - 08/08/2005 18:23
Avatar van Gerard Ouwe rakker Dat is het punt toch niet, het gaat met PHP om het zo dynamisch en onderhoudsvrij maken van je website. Dat is gewoonweg niet handig met de methode die jij toereikt.

Je methode werkt wel maar heeft niet dat beetje extra wat normaal gedaan wordt met keuze[]
Offline WebVisual - 08/08/2005 20:00
Avatar van WebVisual Lid Ik was gewoon aan het zoeken naar een oplossing en ik heb die gevonden. Ben ondertussen ook wijzer geworden van de tutorials 

@Geerios: Kan misschien wel hulp gebruiken voor iets anders en misschien niet gratis. Pm mij even of bezorg je emailadres om verder te praten.
Offline Gerard - 08/08/2005 20:21
Avatar van Gerard Ouwe rakker
Citaat:
Ik was gewoon aan het zoeken naar een oplossing en ik heb die gevonden.


Tot over enkele weken als je wil dat mensen meer dan 10 foto's kunnen bestellen. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.214s