Toon posts:

php checkbox uitlees probleem form

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

Het volgende probleem:

Heb een formulier pagina en een formhandle pagina die de formulier waarden verder afhandeld. Op beide pagina's haal ik een lijst uit de database en vorm voor elk item een checkbox met als naam de id van het database veld. Dat ziet er dus alsvolgt uit:

(in een loop zolang er database output rijen zijn)
<input type='checkbox' name='$result[id]'>

Op de volgende pagina haal ik precies dezelfde lijst uit de database en daarmee ga ik checken of de boxjes zijn aangevinkt ja of te nee. Ik doe dit altijd met een varabele variabele omdat je een dieperliggende waarde van een variabele moet bekijken. Dat ziet er dus alsvolgt uit:

(in een loop zolang er database output rijen zijn)
if(${$result[id]} == "on") {//hij is dus aangevinkt}

Dit heb ik al vaak met succes toegepast. Zo ook laatst bij deze site, echter heeft het 1 dag gewerkt. Nu heeft de variabele variabele geen waarde meer. Ik snap er niets van ! Hij deed het en nu opeens niets meer. Heb het al vaker toegepast ook. Ik kan echt niets anders bedenken dat ik per ongeluk heb verandert. Ik kan zelfs niets bedenken dat ik gedaan kan hebben om dit voor elkaar te krijgen.

Zou dit misschien door een instelling op de server door mijn hosting provider kunnen komen ? Of heeft iemand een x eenzelfde probleem gehad en is het met code of een workaround op te lossen ?

|:(

ik heb ook al geprobeerd:
* variabele variabele $$ ipv ${$}
* een value bij checkbox


vriendelijke groet.

Verwijderd

is je webhost niet stiekum overgegaan van php4.1 naar php4.2 gegaan ?

  • _DeWie_
  • Registratie: November 2001
  • Laatst online: 10-04 16:23
post het is naar een php_info om te kijken wat je binnen krijgt.

Verwijderd

Ik heb ook al eens zoiets gemaakt op de volgende manier :

Het formulier :
PHP:
1
<?while ($vulling = mysql_fetch_array($checkboxes))    $ID = $vulling[ID];    echo '<input type="checkbox" name="form['.$ID.']">';}?>

De handle :
PHP:
1
<?while ($vulling = mysql_fetch_array($checkboxes))    $ID = $vulling[ID];    $waarde = $form[$ID];}?>

Zoiets dan heh, de rest ff verzinnen :)

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Je moet toch met CHECKED kijken offie is aangevinkt :?
PHP:
1
<?if ($checkbox == "CHECKED") { // hij is aangevinkt }?>

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

Op vrijdag 07 juni 2002 08:58 schreef SWINX het volgende:
Je moet toch met CHECKED kijken offie is aangevinkt :?
PHP:
1
<?if ($checkbox == "CHECKED") { // hij is aangevinkt }?>
NEE! Als er een checkbox aangevinkt is de waarde gewoon true, van die $_POST variabele...

dus met if($_POST["checkbox"]){}

kun je kijken oftie is aangevinkt

Verwijderd

if($_POST["checkbox"]){}
is dat hetzelfde als:
code:
1
if( isset( $_POST["checkbox"] ){}

dat gebruik ik namelijk altijd...

Verwijderd

Topicstarter
nou heb het een en ander geprobeerd maar het werkt niet.

if( isset( $_POST["checkbox"] ){}
if($_POST["checkbox"]){}

Ik ken overigens niet het fenomeen:

$_POST["checkbox"]

Waar vul ik mijn variabele in ?

$mijnvar["checkbox"] krijgt altijd een 'n' terug, gechecked of niet. Wat dit moet voorstellen weet ik niet.

$_POST[$mijnvar] krijgt niets terug, dit zal wel niet de bedoeling zijn.

Waarom doet mijn variabele variabele het niet gewoon !! Is er iets verandert in php 4.2 dat dit niet meer ondersteund ??!

Verwijderd

een value aan je checkbox meegeven.
code:
1
<INPUT TYPE=checkbox NAME="naam" VALUE="ja">

dan kan je met
code:
1
echo $_POST['naam'];

zien of hij aangekruist was ofniet

Verwijderd

Topicstarter
Ja ja ja,

Zoals dat vaak gaat. Ben er eindelijk achter wat er mis ging. Bedankt voor de tip met de php_info, ik wist toen zeker dat de waarden van de checkboxjes nooit werden gepost. Moest de fout dus gaan zoeken in de formulier pagina ipv de handle.

Wat bleek nou, had in het formulier een refresh-button staan met form tags er om heen. Echte formulier werd dus al afgesloten voor de checkboxjes.

sorry and thanks.....

:+
Pagina: 1