Voor een programmeeropdracht voor het school moet ik dus checkobxen gebruiken bij randoms, en als de checkbox staat aangeduid, mogen de randoms niet veranderen als je op de knop klikt, om verder te gaan, dat lukt.
Maar ik zou ook graag willen, dat als je een checkbox aanduid, en dan op volgende klikt, dat die checkbox blijft aangeduid. Ik heb zelf al wel ontdekt wat ik mogelijk kan gebruiken: checked="checked".
Kan iemand mij hierbij helpen?
En wat bedoel je met:
- randoms?
- wat voor knop? Van een formulier? Welk script verwerkt het dan?
- volgende.... is dat een knop? Een link? een submit-knop van een formulier?

Enkele tips (die altijd passen):
- google $_POST
- google 'form handling with php'

Maar wellicht het handigste: leg eens uit wat je doet, wat je al hebt, welke code je gebruikt, waar we een online voorbeeld kunnen vinden etc etc etc.
Hier kan ik echt niets mee.
Bedoeling:
- Random: random getallen
- Submitknop in een formulier geschreven in php
- 'Volgende' is de submitknop
- De checkboxen horen bij mijn randoms

Mijn code om mijn getallen random te laten verschijnen, en bij een klik op de knop niet te laten veranderen is:

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$aantal = 5;
for($i=1; $i<=$aantal; $i++)
{
    $stenen[$i] = (isset($_POST['input'][$i])) ? $_POST['input'][$i] : rand(1, 6);
}
echo '<form method="POST">';
for($i=1; $i<=$aantal; $i++)
{
    echo '<input type="checkbox" name="input[' . $i . ']" value="' . $stenen[$i] . '"> ' . "<img src=$stenen[$i].jpg><br>" ;
}
?>

mijn echte vraag is dus, als ik een checkbox aanduid, dan moet die aangeduid blijven als ik op de knop klik.
Kijk, dit is veel duidelijker.
Ik zou er zelf dit van maken:

<?php
// laat alle fouten zien
ini_set('display_errors', 1);
error_reporting(E_ALL);

// definieer aantal stenen
$aantal = 5;

// formulier starten
echo '<form method="POST">';

// loop de 5 stenen af
for($i=1; $i<=$aantal; $i++)
	{
    // moet deze onthouden worden?
    if(isset($_POST['input'][$i]))
		{
		// onthoud deze sessie, de nieuwe waarde is dus gelijk aan de oude
		$nieuwe_waarde = intval($_POST['input'][$i]);
		$selected = ' selected ';
		}
	else
		{
		$nieuwe_waarde  = rand(1, 6);
		$selected = '';
		}
	
	echo '<input type="checkbox"name="input['.$i.']" value="'.$nieuwe_waarde.' '.$selected.'">';
	echo '<img src="'. $stenen[$i].'".jpg>';
	echo '<br>';
	}
	
echo '</form>';

?>


Dus je hebt maar 1 loopje.
En je hebt het 'selected' er ook bij, plus behoud van dezelfde waarde.
@ Eddy Erkelens:
Het stukje code dat je me geeft, werkt niet.
Na het klikken op de knop, blijven de checkboxen niet aangeduid.
Jouw code? Lijkt wel erg veel op die van mij uit je andere topic. ;-)
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$aantal = 5; // aantal dobbelstenen

for($i=1; $i<=$aantal; $i++)
{
$stenen[$i] = (isset($_POST['input'][$i])) ? $_POST['input'][$i] : rand(1, 6);
}

echo '<form method="post">';
for($i=1; $i<=$aantal; $i++)
{
echo '<input type="checkbox" ' . ((isset($_POST['input'][$i])) ? 'checked' : '') . ' name="input[' . $i . ']" value="' . $stenen[$i] . '"> ' . $stenen[$i] . '<br/>';
}
echo '<input type="submit" value="Go">';

?>
@ SanThe
Ja dat klopt:)

Reageren