Hallo ik heb een formulier met validatie. Na een error moet onthouden worden wat er wel is ingevuld. Dit werkt (na hulp hier) wel bij de tekst-veld.
Maar bij een droplist krijg ik het maar niet voor mekaar om deze (waarde) ook te late staan.

De validatie werkt wel,
<? //controle list
	if($_POST['list'] == -1)
	{
	echo 'Please select one on the List';
	$errors=1;
	}?>

Maar het behouden van de selectie niet..
Stuk erna:

<?
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);

///... in de form
 <select name="list" value="'. $list .'" >
         <option value="-1">Select One</option>
         <option value="1">One</option>
         <option value="2">Two</option>
</select>
?>

mm.. wat doe ik fout in dit stukje? (probeer vanuit database te trekken en valideren..)


<?php
 echo '   <option value= "' . $row['klant'] . '"   ' . ($klant == ' . $row['klant'] . ' ? ' selected' : '') . '    >' . $row['klant'] . '</option>';?>



ergens hier denk ik?..:
<?php
' . ($klant == ' . $row['klant'] . ' ? ' selected' : '') . '   
?>


(syntax error, unexpected T_STRING...)
Tip probeer eens netjes te scripten!!!

Met de functie [php]sprintf[/php] kan je algouw veel kanten op, en blijft het netjes en overzichtelijk!

<?php
    echo sprintf('<option value="%s" %s>%s</option>', $row['klang'], ($klant == $row['klant']) ? 'selected="selected"' : '', $row['klant']);
 ?> 
unexpected T_STRING (LEES JE ERRORS!)

Hier staat LETTERLIJK dat er een string is gekomen waar dat niet hoeft.
En blijkbaar weet jij zelf ook al waar je fout zit.

Wat is je probleem dan?

<?
echo ' <option value= "' . $row['klant'] . '" ' . ($klant == $row['klant'] ? ' selected' : '') . '>' . $row['klant'] . '</option>'.PHP_EOL;
?>

Reageren