[HTML & php] checkboxes

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

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Weet iemand hoe ik van een zelfde checkbox groep met meer waarden in een link kan zetten? Stel ik heb het volgende:
<input type="ceckbox" name="plaatje" value="1">
<input type="ceckbox" name="plaatje" value="2">
<input type="ceckbox" name="plaatje" value="3">
<input type="ceckbox" name="plaatje" value="4">
Hoe kan ik als ik wil dat "plaatje" de waarden 2 en 4 naar een php script moet sturen hoe kan ik dat doen via een url? Normaal kun je bijv. gewoon zeggen: http://host.com/script.php?plaatje=2 Mijn vraag is nu: hoe kan ik dus meer waarden tegerlijkertijd naar een php/asp script sturen via een link.

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 17:51
je kan de naam veranderen van 'plaatje' in 'plaatje[]'. Dan maak je er een array van. Als je nu $_POST['plaatje'] uitleest, zie je alleen de laatste waarde (dus als je 2 en 4 aankruist, krijg je alleen 4 terug). Met een array kan je elke met foreach ($_POST['plaatje']) enz. de waarden uitlezen en heb je alle gegevens.

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Wanneer er meerdere checkboxes gechecked zijn dan worden de waarden doorgegeven gescheiden door een komma dus; 1, 2, 3, 4 enz..
Wat je dan kan doen is deze string te manipuleren en er alleen de numerieke waarden uit te halen en deze vervolgens in de URL te verwerken.

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 17:51
devraux schreef op 25 januari 2003 @ 11:12:
Wanneer er meerdere checkboxes gechecked zijn dan worden de waarden doorgegeven gescheiden door een komma dus; 1, 2, 3, 4 enz..
Wat je dan kan doen is deze string te manipuleren en er alleen de numerieke waarden uit te halen en deze vervolgens in de URL te verwerken.
Voor zover ik weet is dat niet zo! Even nagekeken, en je krijgt idd alleen maar de laatste variabele mee. Hiervoor heb ik het volgende script gebruikt:
PHP:
1
2
3
4
5
6
7
8
9
10
<?
    phpinfo();
?>
<form name="Form" method="post">
  <input type="checkbox" name="plaatje" value="1">
  <input type="checkbox" name="plaatje" value="2">
  <input type="checkbox" name="plaatje" value="3">
  <input type="checkbox" name="plaatje" value="4">
  <input type="submit">
</form>

$_POST['plaatje'] heeft enkel de waarde '4' in zich staan!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 20:30
DAt is toch ook logisch, je moet ze gewoon unieke namen geven, groepen doe je dan met letters oid:
name='a1'
name='a2'
etc.

Verwijderd

Ik gebruik zoiets: dus dan werk je met plaatje[]
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<? if ($Submit) 
    { 
 while(list($a, $b) = each($plaatje))
    {
        $plaatje2.=$b.",";
    }
    $plaatje= substr($plaatje2, 0, strlen($plaatje)-1);
                 //eventurele query 
    } else {
   
?>
<form method=post name=Submit>
<input type='checkbox' name='plaatje[]' value='1' >
<input type='checkbox' name='plaatje[]' value='2' >
<input type='checkbox' name='plaatje[]' value='3' >
<input type='checkbox' name='plaatje[]' value='4' >
<input type=Submit value='Submit' name='Submit'>
</form>
<? } ?>

Verwijderd

Verwijderd schreef op 25 January 2003 @ 11:26:
Ik gebruik zoiets: dus dan werk je met plaatje[]
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<? if ($Submit) 
    { 
 while(list($a, $b) = each($plaatje))
    {
        $plaatje2.=$b.",";
    }
    $plaatje= substr($plaatje2, 0, strlen($plaatje)-1);
                 //eventurele query 
    } else {
   
?>
<form method=post name=Submit>
<input type='checkbox' name='plaatje[]' value='1' >
<input type='checkbox' name='plaatje[]' value='2' >
<input type='checkbox' name='plaatje[]' value='3' >
<input type='checkbox' name='plaatje[]' value='4' >
<input type=Submit value='Submit' name='Submit'>
</form>
<? } ?>
Werkt niet met REGISTER_GLOBALS op Off:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<? if ($_POST['submit']) 
    { 
 while(list($a, $b) = each($_POST['plaatje']))
    {
        $plaatje2.=$b.",";
    }
    $plaatje= substr($plaatje2, 0, strlen($_POST['plaatje'])-1);
                 //eventurele query 
    } else {
   
?>
<form method=post name=Submit>
<input type='checkbox' name='plaatje[]' value='1'>
<input type='checkbox' name='plaatje[]' value='2'>
<input type='checkbox' name='plaatje[]' value='3'>
<input type='checkbox' name='plaatje[]' value='4'>
<input type='hidden' name='submit' value='1'>
<input type=Submit>
</form>
<? } ?>

Verwijderd

jongens.. het gaat hier om de GET-method en niet de post...

Verwijderd

djluc schreef op 25 January 2003 @ 11:23:
DAt is toch ook logisch, je moet ze gewoon unieke namen geven, groepen doe je dan met letters oid:
name='a1'
name='a2'
etc.
dat is bah als die checkboxes dynamisch worden neergezet. Ja, je zou t dan kunnen doen met eval(), maar da's vies. Een array is en blijft de mooiste oplossing imo.

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

sjroorda schreef op 25 januari 2003 @ 11:17:
[...]

Voor zover ik weet is dat niet zo! Even nagekeken, en je krijgt idd alleen maar de laatste variabele mee. Hiervoor heb ik het volgende script gebruikt:
Kan kloppen, het het zelf alleen nog maar met de post-method gedaan en (nog) niet met een get. ;)
Gebruik dit namelijk om batch-deletes en updates te doen.

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
devraux schreef op 25 January 2003 @ 11:12:
Wanneer er meerdere checkboxes gechecked zijn dan worden de waarden doorgegeven gescheiden door een komma dus; 1, 2, 3, 4 enz..
Wat je dan kan doen is deze string te manipuleren en er alleen de numerieke waarden uit te halen en deze vervolgens in de URL te verwerken.
Ik ga het proberen door het idd door komma's te scheiden als het gelukt is horen jullie het!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

dit is allemaal wel vrij logisch hoor

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.