Php & Mysql checkboxes tutorial

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robby Alexander

Robby Alexander

12/08/2011 09:36:28
Quote Anchor link
Hey allemaal weet iemand een goede tutorial over checkboxes in mysql & php ?

Ik wil namelijk meerdere checkboxes in mysql opslaan of ze wel zijn afgevinkt of niet
en wanneer een record wordt opgevraagd dan laat hij zien of de waarden 1 of 0 zijn.
 
PHP hulp

PHP hulp

05/02/2023 02:31:07
 
- Ariën  -
Beheerder

- Ariën -

12/08/2011 09:43:42
Quote Anchor link
Daar is geen tutorial voor nodig. Je kan gewoon kijken of $_POST['checkbox_ding'] een true of false geeft. Indien true: Hij is aangeklikt, geef hem dan de waarde voor in de database 1, en indien false, dan is hij niet aangeklikt, dan is de waarde voor in de database 0.
Gewijzigd op 12/08/2011 09:44:06 door - Ariën -
 
Robby Alexander

Robby Alexander

12/08/2011 10:11:45
Quote Anchor link
stel ik heb een checkbox:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
// Stap 1 : index.php ?>
<html>
<form method="POST" action="verwerk.php">
Keuze 1 <input type="checkbox" name="c1" id="c1">
Keuze 2 <input type="checkbox" name="c2" id="c2">
<input type="submit" name="knop" id="knop"
value="Ja ik ben klaar met het selecteren van mijn keuze" />
</form></html>


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
// Stap 2: verwerk.php
<?php
include("verrrrrrrrrbinding.php");

$keuze1 = $_POST['c1'];
$keuze2 = $_POST['c2'];

$sql = "INSERT INTO tabellen (c1, c2)
             VALUES ('$keuze1', '$keuze2')"
;
// En dan terug waar u vandaan kwam aub
     header("Location: ".$session->referrer);

$result = mysql_query($sql) or die ( mysql_error() );
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// Stap 3: laatesziendan.php

$gekozen = $_GET['gekozen'];
$laateszien = "SELECT * FROM tabellen WHERE gekozen='$gekozen' ORDER BY id DESC" ;
Ben ik gekozen ?
<
input type="checkbox" name="c1" id="c1" value="<? echo  $array['keuze1']; ?>" disabled />
Of ben ik gekozen ?
<
input type="checkbox" name="c2" id="c2" value="<? echo  $array['keuze2']; ?>" disabled />

// ik heb disabled gebruikt zodat opgevraagde records niet meer kunnen worden gewijzigd als je er perongeluk op klikt ofzo.
?>


Maar ik weet niet of dit zo gaat want ik weet er nog niet zoveel over
Gewijzigd op 12/08/2011 10:16:37 door Robby Alexander
 
- SanThe -

- SanThe -

12/08/2011 10:34:53
Quote Anchor link
Om even over na te denken:

<input type="checkbox" name="c1" id="c1">
Als dit is aangevinkt dan geeft $_POST['c1'] de waarde 'on' en als het niet is aangevinkt bestaat $_POST['c1'] helemaal niet.

<input type="checkbox" name="c1" id="c1" value="1">
Als dit is aangevinkt dan geeft $_POST['c1'] de waarde '1' en als het niet is aangevinkt bestaat $_POST['c1'] helemaal niet.
 
Write Down

Write Down

12/08/2011 10:52:20
Quote Anchor link
Ok even opletten op de volgende lijn:
$sql = "INSERT INTO tabellen (c1, c2)
VALUES ('$keuze1', '$keuze2')";
 
Eric Wagener

Eric Wagener

12/08/2011 11:00:23
Quote Anchor link
@SanThe

Klopt helemaal, je kunt dat overigens oplossen door er een hidden input bij te zetten.
<input type="hidden" name="c1" value="0">
<input type="checkbox" name="c1" id="c1">
 
Robby Alexander

Robby Alexander

12/08/2011 11:03:12
Quote Anchor link
write down ik zie het probleem er niet van in ?
 
- SanThe -

- SanThe -

12/08/2011 11:37:05
Quote Anchor link
Eric Wagener op 12/08/2011 11:00:23:
@SanThe

Klopt helemaal, je kunt dat overigens oplossen door er een hidden input bij te zetten.
<input type="hidden" name="c1" value="0">
<input type="checkbox" name="c1" id="c1" value="1">


Even getest, en dit werkt perfect.
Let wél op de volgorde, want dit werkt niét.

<input type="checkbox" name="c1" id="c1" value="1">
<input type="hidden" name="c1" value="0">
Gewijzigd op 12/08/2011 11:38:59 door - SanThe -
 
Benny Lava

Benny Lava

12/08/2011 11:54:12
Quote Anchor link
Hou er wel rekening mee dat je de waarde voordat je ze in de database opslaat nog wel controleert! Ook al is de waarde 1 of 0 (true/false) blijft het user-input wat veranderd kan worden. Anders is het mogelijk SQL-injection whatever te doen.
 
Robby Alexander

Robby Alexander

12/08/2011 12:56:17
Quote Anchor link
goed idee benny, ik moet dat hoofdstukje nog bestuderen met if else statements als het 1 of 0 is ga door zoniet dat stop zoiets ?
Santhe moet het niet zoiets zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<input type="checkbox" name="c1" id="c1" value="<?php echo $_GET['c1'] ?>">
<input type="hidden" name="c1" value="0">


En kan ik het beste gewoon TinyInt gebruiken met characters 1 ???
Gewijzigd op 12/08/2011 13:12:09 door Robby Alexander
 
Eric Wagener

Eric Wagener

12/08/2011 15:01:29
Quote Anchor link
@Robby Lees dat stukje van SanThe nu nog eens. En dan vooral dat deel van hoe het juist niet moet.
 
Robby Alexander

Robby Alexander

17/08/2011 10:48:07
Quote Anchor link
ik moet eigenlijk deze code hebben
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="checkbox" name="c1" id="c1" <?php echo $c1 ?> disabled />


en dan moet ik php code toevoegen in de zin van:
$c1 = als het 1 is dan moet je echo: checked en als het 0 is dan moet je niets zetten
Gewijzigd op 17/08/2011 11:01:31 door Robby Alexander
 
- SanThe -

- SanThe -

17/08/2011 11:10:36
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="checkbox" name="c1" id="c1" <?php echo $var_uit_database == 1 ? 'checked' : ''; ?>/>


Geen disabled gebruiken want dan wordt die niet mee verstuurd.
 
Robby Alexander

Robby Alexander

17/08/2011 11:11:07
Quote Anchor link
ik heb het denk ik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<input type="checkbox" id="c1" name="c1" <?php $c1 = $array['c1'];
if ( $c1 == 1 ) {
    echo "checked";
}
else {
    echo "";
}
?>
disabled />


Toevoeging op 17/08/2011 11:11:53:

santhe met alle respect voor je knowledge & skill maar bij mij neemt hij em gewoon mee

Toevoeging op 17/08/2011 11:13:31:

alleen jammer dat mijn code zooooo lang is
 
- SanThe -

- SanThe -

17/08/2011 11:19:19
Quote Anchor link
Robby Alexander op 17/08/2011 11:11:07:
santhe met alle respect voor je knowledge & skill maar bij mij neemt hij em gewoon mee


Zojuist hier getest en het disabled veld wordt niet verstuurd.

Toevoeging op 17/08/2011 11:22:37:

Robby Alexander op 17/08/2011 11:11:07:
alleen jammer dat mijn code zooooo lang is


Korter?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="checkbox" name="c1" id="c1" <?php echo $array['c1'] == 1 ? 'checked' : ''; ?> disabled />
 
Robby Alexander

Robby Alexander

17/08/2011 11:54:54
Quote Anchor link
ik wilde graag dat wanneer het opgevraagd wordt door een normale bezoeker dat je het resultaat niet kan veranderen. Het heeft verder geen effect op de database maar het is ook niet goed dat je zomaar waarden kunt veranderen die je hebt opgevraagd dus bij het opvragen gebruik ik nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<input type="checkbox" id="ch1" name="ch1" <?php $ch1 = $array['ch1'];
if ( $ch1 == 1 ) {
    echo "checked";
}
else {
    echo "";
}
?>
disabled />
Gewijzigd op 17/08/2011 11:55:21 door Robby Alexander
 
- SanThe -

- SanThe -

17/08/2011 11:59:31
Quote Anchor link
Wat is dan nog het probleem?
 
Robby Alexander

Robby Alexander

17/08/2011 12:03:23
Quote Anchor link
ik heb geen probleem meer :) ik ben blij dat je me geholpen hebt... ik moet dalijk nog even kijken of ik het kan verkorten wat je me had geschreven echt superbedankt voor je hulp

Toevoeging op 17/08/2011 13:24:30:

thanks voor de hulp nogmaals inderdaad de verkorting werkt supergoed
 



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.