radio button geeft Undefined index: keus fout

Status
Niet open voor verdere reacties.

klaaspeter

Gebruiker
Lid geworden
20 nov 2010
Berichten
377
Goededag,

Ik heb een probleem en heb toch al wat opties geprobeerd.

Dit is de fout melding die ik krijg:

Notice: Undefined index: keus

Als ik het goedbegrijp is het omdat ik geen radiobutton heb geselecteerd. Want als ik wel een keuze maak dan krijg ik de fout melding niet. Nou wil ik juist dat deze fout melding weg gaat als er geen keuze wordt gemaakt.

Wie kan mij helpen.

Dit is hoe ik de keuze verkrijg:

PHP:
$keus = trim($_POST['keus']);

Dit is hoe ik de radiobuttons controleer:

PHP:
		if(empty($keus))
		{
			$aFout[] = "Er is geen keuze gemaakt bij bent u lid.";
			unset($keus);
			$fout['text']['keus'] = TRUE;
			$fout['input']['keus'] = TRUE;
		}

Dit is mijn form

PHP:
 <label <?php if(isset($fout['text']['keus'])) { echo 'class="fout"'; } ?>>Bent u lid*</label>
       <input type="radio" name="keus" <?php if(isset($fout['input']['keus'])) { echo 'class="fout'; } ?> value="Ja"> Ja<br>
<label></label><input type="radio" name="keus" <?php if(isset($fout['input']['keus'])) { echo 'class="fout'; } ?> value="Nee" > Nee<br /> <br />

Hoop dat iemand mij kan helpen :)

Alvast bedankt!
 
Je kunt controleren of een bepaalde key van een array (of een andere variabele) bestaat met de isset functie:

PHP:
if ( isset( $_POST['keus'] ) ) {
  // de keus bestaat; plaats hier code die de keus gebruikt
}
else {
  // de keus bestaat niet; plaats hier eventuele code die uitgevoerd moet worden als mensen niks kiezen
}
 
Doe anders eens
echo '<pre>'.print_r($_POST).'</pre.';
hiermee kun je zien wat er allemaal via de $_POST verzonden is.

Verzend je de form wel met de POST method? (niet dat het per ongeluk op GET staat)
 
Oke bedankt zal het proberen. En ik verzend mijn form inderdaad met post method :)

Ter informatie:

Op het moment dat ik een keuze maak dus ik klik een van de radio buttons aan dan komt er geen fout.

Klik ik geen van beide aan dan krijg ik de fout te zien.

Dus hij maakt een fout op het moment dat ik op versturen klik omdat er niks is om te versturen.
 
okey, kijk.
Is ook logisch. Als je geen van beide kiest, dan zal er ook geen waarde verstuurd worden via de form.
Daarom moet je kijken of er een waarde van de radio-btn is verzonden via de form.
Dat doe je dan met de isset() functie.
isset kijkt of de gevraagde variabele bestaat en zat true of false terug geven als antwoord.
if(isset($_POST['keus']))
{
echo 'keuze is gemaakt';
}
else
{
echo 'er is geen keuze gemaakt';
}
 
heb je de variabele $keus wel binnen de if functie staan??

dus niet:
PHP:
$keus = trim($_POST['keus']);

if(isset( $_POST['keus'])){
    // de code die het script behandelt.
}else{
    // de html code van het forum
}

Maar:
PHP:
if(isset( $_POST['keus'])){
    $keus = trim($_POST['keus']);
    // de code die de rest van het script behandelt.
}else{
    // de html code van het forum
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan