login  Naam:   Wachtwoord: 
Registreer je!
 Forum

meerdere checkbox in formulier (Opgelost)

Offline pertotal - 12/07/2011 13:11
Avatar van pertotalLid Hallo,

Ik ben reeds sedert vroeg deze morgen op zoek naar een oplossing voor volgend probleem.

Bij een formulier heeft men de mogelijkheid om 5 checkboxen aan te vinken, vb. appelen, peren, banaan,druiven,kiwi daarvoor gebruik ik input type"text" name="ordertype" value"appelen" , enz.

Deze wil ik dan laten vermelden in de email die wordt verstuurd ($message).

Het probleem is nu dat er enkel 1 wordt vermeld in de mail.

Ik heb reeds verschillende codes getest maar niet een lijkt te lukken.

  1. <label for="appelen" class="labelsmall">
  2. <input type="Checkbox" name="ordertype" value="appelen" />
  3. appelen</label>
  4. <label for="peren" class="labelsmall">
  5. <input type="Checkbox" name="ordertype" value="peren" />
  6. peren</label>
  7. <label for="banaan" class="labelsmall">
  8. <input type="Checkbox" name="ordertype" value="banaan" />
  9. banaan</label>
  10. <label for="druiven" class="labelsmall">
  11. <input type="Checkbox" name="ordertype4" value="druiven" />
  12. druiven</label>
  13. <label for="kiwi" class="labelsmall">
  14. <input type="Checkbox" name="ordertype" value="kiwi" />
  15. Kiwi</label>


laatste php test

  1. $ordertype = 'appelen,peren,banaan,druiven,kiwi';
  2. $chkarr = split(',',$ordertype);


Kan iemand me hierbij helpen (hoop dat het een beetje duidelijk is).

Met dank

4 antwoorden

Gesponsorde links
Offline mwthomas - 12/07/2011 13:56 (laatste wijziging 12/07/2011 13:57)
Avatar van mwthomas Lid
  1. <?php
  2. $ordertype[] = array();
  3. ?>
  4. <form method="post" action="<?php $_SERVER['php_self']; ?>">
  5. <label for="appelen" class="labelsmall">
  6. <input type="Checkbox" name="ordertype[]" value="appelen" />
  7. appelen</label>
  8. <label for="peren" class="labelsmall">
  9. <input type="Checkbox" name="ordertype[]" value="peren" />
  10. peren</label>
  11. <label for="banaan" class="labelsmall">
  12. <input type="Checkbox" name="ordertype[]" value="banaan" />
  13. banaan</label>
  14. <label for="druiven" class="labelsmall">
  15. <input type="Checkbox" name="ordertype[]" value="druiven" />
  16. druiven</label>
  17. <label for="kiwi" class="labelsmall">
  18. <input type="Checkbox" name="ordertype[]" value="kiwi" />
  19. Kiwi</label>
  20.  
  21. <input type="submit" value="button" name="button" />
  22. </form>
  23.  
  24.  
  25. <?php
  26. if (isset($_POST['button'])) {
  27. $ordertype = $_POST['ordertype'];
  28. foreach ($ordertype as $value) {
  29. echo $value . "<br />";
  30. }
  31. }
  32.  
  33. ?>
Offline pertotal - 12/07/2011 14:53
Avatar van pertotal Lid Dank je mwthomas iets dergelijks had ik deze morgen ook al getest maar wat plaats ik dan in $message om dit in de mail te laten zien nu staat daar 'Fruitsoorten $value' maar dit is blijkbaar niet de juiste manier er wordt niets of enkel een getoond.
Mijn html en php staan in twee files maar daar zal het probleem wel niet liggen denk ik.

Nog even vermelden dat ik een beginner ben op php gebied maar dat had je waarschijnlijk reeds door.

  1. $message = "Hallo!
  2.  
  3.  
  4. $titel
  5.  
  6. Naam: $voornaam $naam
  7. Straat: $straat Nr: $nr
  8. Postnr: $postnr Gemeente: $gemeente
  9. E-mail: $email
  10.  
  11.  
  12. Fruitsoorten $value";


Offline mwthomas - 12/07/2011 18:44
Avatar van mwthomas Lid Met de door mij gebruikte foreach lees je waarde per waarde uit de array.
Daarom zal het op jou manier ook niet werken.

Je moet daarom nog een variabele aanmaken om al deze stukken fruit aan elkaar te zeggen.

  1. <?php
  2. if (isset($_POST['button'])) {
  3. $ordertype = $_POST['ordertype'];
  4. foreach ($ordertype as $value) {
  5. $fruit .= $value . "<br />";
  6. }
  7. echo $fruit;
  8. }
  9.  
  10. ?>


De variabele fruit zal nu alle waarden tonen die werden aangevinkt.
Offline pertotal - 12/07/2011 20:58 (laatste wijziging 12/07/2011 21:50)
Avatar van pertotal Lid Om een of andere duistere reden lijkt het script hier niet te werken geen idee wat ik verkeerd doe.
Het php script wordt aangeroepen vanuit html maar er verschijnt niets op het scherm.
Misschien moet ik maar eerst leren gaan voor ik ga lopen en mij meer verdiepen in php.
In ieder geval hartelijk dank voor het script.

Oplossing gevonden,

  1. <?php
  2.  
  3. error_reporting (E_ERROR | E_WARNING | E_PARSE);
  4.  
  5. $aDoor = $_POST['ordertype'];
  6. if(empty($aDoor))
  7. {
  8.  
  9. }
  10. else
  11. {
  12. $N = count($aDoor);
  13.  
  14. echo("You selected $N door(s): ");
  15. for($i=0; $i < $N; $i++)
  16. {
  17. echo($aDoor[$i] . " ");
  18. }
  19.  
  20. $fruit = $aDoor[0]." ".$aDoor[1]." ".$aDoor[2]." ".$aDoor[3]." ".$aDoor[4]." ".$aDoor[5];
  21.  
  22. }
  23.  
  24.  
  25.  
  26. echo $fruit;
  27. ?>


Heb er wel een error_reporting (E_ERROR | E_WARNING | E_PARSE) aan moeten toevoegen omdat er telkens een error notice verscheen als een checkbox niet was aangevinkt.

Ik wou dit toch nog even laten weten omdat iemand er misschien ooit nog iets aan heeft.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.214s