form met checkboxes uitlezen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michel Koonen

Michel Koonen

02/12/2013 22:25:53
Quote Anchor link
Ik heb een formulier gemaakt waarin ik uitsluitend gebruik maak van checkboxes die ik doorstuur naar een andere PHP page waarin ik de waardes uitlees. Echter wordt alleen de checkboxes die aangevinkt zijn doorgestuurd. Ik zou willen weten welke checkboxes er niet aangevinkt zijn en ook deze info willen doorsturen. Is dit mogelijk?
 
PHP hulp

PHP hulp

24/04/2024 10:04:28
 
- Ariën  -
Beheerder

- Ariën -

02/12/2013 22:55:39
Quote Anchor link
Hoe worden die checkboxes aangevinkt? Handmatig of automatisch door script?
 
Michel Koonen

Michel Koonen

02/12/2013 23:46:55
Quote Anchor link
handmatig. De gebruiker checkt er een aantal aan en die worden door gegeven. Ik wil echter ook doorgegeven krijgen welke er niet aangevinkt zijn...
 
- SanThe -

- SanThe -

02/12/2013 23:57:49
Quote Anchor link
Een checkbox wordt alleen meegestuurd als ie is aangevinkt.
Maar je weet toch zelf welke checkboxen er in het formulier staan.
Degene die je niet meekrijgt zijn dus niet aangevinkt.
 
Michel Koonen

Michel Koonen

03/12/2013 08:27:03
Quote Anchor link
Het aantal checkboxes worden vanuit een db uitgelezen en in een form gezet en indien aangevinkt doorgestuurd. Iedere checkbox heeft een uniek id.. die zou ik in ieder geval meegestuurd willen hebben..met 't form
 
Kris Peeters

Kris Peeters

03/12/2013 09:51:31
Quote Anchor link
Stuur eventueel alle id's mee in een hidden.

bv zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $alle_id = json_decode($_POST['ids']);
  echo 'checkbox: ' . print_r($_POST['item'], 1) . '<br>';
  echo "alle id's: " . print_r($alle_id, 1) . '<br>';
}

$ids = array(
  15, 23, 41, 57, 98
);
$form = '';
foreach($ids as $id) {
  $form .= '<input name="item[]" type="checkbox" value="' . $id . '">';
}

$form = '<form method="post">
  '
. $form . '
  <input type="hidden" name="ids" value="'
. json_encode($ids) . '">
  <input type="submit" value="GO">
</form>'
;
echo $form;
?>
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

03/12/2013 10:48:19
Quote Anchor link
Als je net zoals Kris een array maakt van de ckeckboxen (met name="item[]"), gaat dat vrij simpel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
// De aangevinkte aan zetten:
$toggle_on = "UPDATE table_name SET checked = 1
    WHERE checkbox_id IN ("
. implode(',', $_POST['item']) . ")";
// De NIET aangevinkte uit zetten:
$toggle_off = "UPDATE table_name SET checked = 0
    WHERE checkbox_id NOT IN ("
. implode(',', $_POST['item']) . ")";
?>
Gewijzigd op 03/12/2013 10:50:22 door Ger van Steenderen
 
Michel Koonen

Michel Koonen

03/12/2013 11:52:28
Quote Anchor link
Ik heb 't idd opgelost met een hidden statement welke ik meestuur. Maar doordat de hidden input overschreven wordt (indien de checkbox wordt aangevinkt) krijg ik bij de formulierafhandeling alle checkboxes binnen, maar met een waarde 0 of waarde 1.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
echo "<input type='hidden' name='$comp_id' value='0' />";
echo "<input type='checkbox' name='$comp_id' value='1' />;


Dank allen voor de hulp:-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.