select doet het niet

Status
Niet open voor verdere reacties.

wesselh

Gebruiker
Lid geworden
2 mrt 2007
Berichten
132
Hallo iedereen. Als ik dit form gebruik:

HTML:
<form name="form" method="post" action="verwerk.php">
 <select name="map">
<option>schilderwerk</option>
<option>keramisch</option>
<option>diversen</option>
</select>
</form>

en ik stuur het maar een php pagina die $_POST['map'] opvangt als $map. Herkent de php pagina dan de $map met de waarde die je in het form hebt geselecteerd? Bij mij werkte het niet.
 
Volgens mij werkte dat normaliter wel, het kan best zijn dat jij (of je hosting) bepaalde instellingen hebben gedaan zodat je er echt $_POST bij moet zetten (Is wel veiliger, anders zou je hem ook met en $_GET aan kunnen spreken en kun je dus vanalles er in zetten)
 
Je kunt dit even controleren door gewoon een nieuw bestand te maken, bv. phpinfo.php en daarin dit te zetten:
PHP:
<?php
phpinfo();
?>

Als je dan daar naartoe gaat moet je even zoeken bij Configuration naar 'register_globals'. Als dat op off staat moet je $_POST['map'] gebruiken, anders kun je $map gebruiken. Bij PHP 5 staat register_globals standaard uit. Register_globals aan hebben staan is een veiligheidsprobleem als je nog maar weinig van PHP weet. Dus als je een server hebt met PHP 5 werkt $map standaard niet.
 
Je zult dan dus wel een value moeten meegeven aan de verschillende options, en een submit button maken.

PHP:
<form name="form" method="post" action="verwerk.php">
 <select name="map">
<option value="1">schilderwerk</option>
<option value="2">keramisch</option>
<option value="3">diversen</option>
</select>
<input type="submit" value="Submit" />
</form>

Dit kun je dan bijvoorbeeld zo uitlezen:

PHP:
<?php
if (!empty ($_POST['map'])){
    $type_maps = array (1 => 'schilderwerk', 2 => 'keramisch', 3 => 'diversen'); // Kun je ook uit een database halen oid.
    echo 'U heeft het volgende geselecteerd: ' . $type_maps[$_POST['map']];
}
?>
 
Laatst bewerkt:
Als wesselh dit bedoelt dan kan hij het makkelijker zo doen:

PHP:
<form name="form" method="post" action="verwerk.php"> 
<select name="map"> 
<option value="Schilderwerk">schilderwerk</option> 
<option value="Keramisch">keramisch</option> 
<option value="Diversen">diversen</option> 
</select> 
<input type="submit" value="Submit" /> 
</form>

Dan hoef je ook niet met die array te werken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan