nou dit is mijn probleem,
ik haal met php uit mysql informatie en stop het in een var
<?
$row = mysql_fetch_array($sqlquery);
$test = $row["tabel1"];
?>

daarnaast heb ik met html een selectbox waarmee ik dus deze waardes vul
met een andere stuk code natuurlijk maar het probleem is
dat als ik het opsla kan je foutmeldingen krijgen over dat je iets niet
heb ingevuld (dat hoort ook zo), maar nu komt het
na de foutmeldingen worden alle waardes weer op standaart gezet in de
selectbox waardoor je weer alles opnieuw moet invullen
zo ziet de selectbox eruit
<select name="naam" id="tstid">
<option selected="selected" value="tst1"/> test1
<option selected="selected" value="tst2"/> test2
</select>

nu is mijn vraag hoe kan ik ervoor zorgen dat de geselecteerde waarde in de
selectbox geselecteerd blijft zodat je niet alles opnieuw hoeft in te vullen nadat je
bijv. een foutmelding krijgt.
<?php
echo '<select name="naam" id="tstid">';
while($row = mysql_fetch_assoc($result)
{
$selected = (isset($_POST['naam']) and $row['veldnaam'] == $_POST['naam']) ? ' selected ' : '';
echo '<option ' . $selected . ' value="' . $row['veldnaam'] '">' . $row['veldnaam'] . '</option>';
}
echo '</select>';
?>
ik heb het geprobeerd zoals -sanThe- het heeft voorgesteld maar die was nogal
moeilijk toch bedankt voor je snelle reactie jou voorstel heeft een kettingreactie veroorzaakt iniedergeval waardoor ik er uit ben gekomen dit is de uitslag

<?
<select name="naam" id="tstid">
<option <?if($_POST["naam"] == tst1){echo "selected = 'selected'";?> value="tst1/>test1
<option <?if($_POST["naam"] == tst2 {echo "selected = 'selected'";?> value="tst2"/>test2
</select>
?>
Lijkt mij niet dat jouw code werkt.

if($_POST["naam"] == tst1)
Moet zijn:
if($_POST["naam"] == "tst1")

value="tst1/>test1
Moet zijn:
value="tst1">test1</option>

Verder kijk je niet of $_POST["naam"] wel bestaat.

Zet error_reporting eens aan.

<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//rest
?>
hij zegt wel undefined index naam
maar hij werkt ook
als ik die $_POST veranderd had in $row["tabel1"] dan pakt die alleen maar
de informatie die doorgevoerd is naar de databse
als ik een foutmelding krijg op die site bijv. naam niet ingevuld
dan stuurt die nog niks naar de database en dan pakt die weer de standaard geselecteerde waarde.
dus dan probeerde ik $_POST die werkte wel want die value wordt gepost.
kan ik dan op een of ander manier laten kijken of $_POST["naam"] bestaat
(ik werk nog niet zo lang met php dus mijn kennis is nog niet zo breed)
Met isset() kan je kijken of een variable bestaat.
In dit geval dus de $_POST['naam'].

if(isset($_POST["naam"]) && $_POST["naam"] == "tst1")
oooh sooo
nou geeft die ook geen meldingen meer
en werkt naar behoren
bedankt voor alle hulp en snelle reacties :D

Reageren