Moderator |
|
Als een checkbox niet gechecked is, wordt deze in het geheel niet gePOST, dus waarschijnlijk, als je method GET is (of je geen method hebt gedefinieerd in je formulier) ook (niet).
De undefined index 'a' melding zal dus met bovenstaande code waarschijnlijk niet weg zijn (ingeval deze niet aangevinkt wordt). Je hoeft eigenlijk alleen te controleren op het bestaan van de checkbox (gebruik isset()), de value doet er niet echt toe.
EDIT: Oh never mind, dit loopt niet via een formulier...
EDIT: waarom zou je trouwens de hele query nog een keer uitschrijven als er maar één waarde verschilt? Dat kan korter!
EDIT2: Tevens moet je je properties URL-encoden, oftewel & moet worden & etc., zie hieronder:
EDIT2: voortbordurend op de code van Stefan14 (en waarom zou je HTML in een PHP-string stoppen , ah well...):
<?php
// CONTROLE EN UPDATEN VAN RECORDS
$nieuweWaarde = isset($_GET['a']) && $_GET['a'] == 'Y' ? 'Ja' : 'Nee';
mysql_query("UPDATE cpl_agenda
SET active = '".$nieuweWaarde."'
WHERE agid = ".mysql_real_escape_string($_GET['id']));
// EINDE CONTROLE
// Onderstaand script is de checkbox
...
?>
<?php // CONTROLE EN UPDATEN VAN RECORDS $nieuweWaarde = isset($_GET['a']) && $_GET['a'] == 'Y' ? 'Ja' : 'Nee'; SET active = '".$nieuweWaarde."' // EINDE CONTROLE // Onderstaand script is de checkbox ... ?>
EDIT3: getver, wellicht wil je nadenken over een andere opzet haha, wat je doet is nogal... onorthodox. Als je deze methode wilt aanhouden kun je wellicht iets doen in javascript met this.checked (in die onclick actie)? Dan heb je in ieder geval maar één lap HTML nodig, in plaats van twee. |