geselecteerde optie naar variabele

Status
Niet open voor verdere reacties.

krolik

Terugkerende gebruiker
Lid geworden
22 apr 2007
Berichten
1.787
Ik ben bezig met een PHP-script met hierin o.a. <select... en <optie..., zodat je een soort combobox krijgt. Dat werkt. Hoe krijg ik de inhoud van een geselecteerde optie in een variabele, zodat ik daarmee iets kan doen?
 
Zodra je het formulier verstuurd, heb je in PHP een $_POST-variabele waarin die data beschikbaar is.

Dus als je select-element bijv. als name 'product' heet. Dan staat de invoer in $_POST['product'].
 
Ik heb dit:

<html>
<body>

<td>Region:</td>
<td colspan="3">

<select name="country">
<option value="United Kingdom">United Kingdom</option>
<option value="Netherlands">Netherlands</option>
<option value="Europe">Europe</option>
<option value="Rest of the world">Rest of the world</option>
</select>

</td>

En het is de bedoeling, dat als ik b.v. kies voor Netherlands, de naam Netherlands ergens tevoorschijn komt en in een variabele gezet kan worden.


</body>
</html>
 
Okee, je zegt dat dit bekend is. Dus ik neem aan dat het dus gelukt is, of dat je al iets hebt?
Zorg in ieder geval dat je form-tags in HTML hebt, en een submit knop.
 
Laatst bewerkt:
Ja, ik heb iets gevonden, dat doet wat ik wil. Dankjewel.
 
Ik ben benieuwd wat je hebt :). Wie weet valt er wel iets aan te verbeteren misschien.
 
<form action="#" method="post">

<select name="Color">
<option value="Red">Red</option>
<option value="Green">Green</option>
<option value="Blue">Blue</option>
<option value="Pink">Pink</option>
<option value="Yellow">Yellow</option>
</select>

<input type="submit" name="submit" value="Get Selected Values" />
</form>

<?php
if(isset($_POST['submit'])){
$selected_val = $_POST['Color']; // Storing Selected Value In Variable
echo "You have selected :" .$selected_val; // Displaying Selected Value
}
?>

Hier kan ik wel verder mee
 
Ik zou controleren of je formulier is verstuurd, en ik zou niet de $_POST-variabele opnieuw opslaan:

Code:
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
     echo "You have selected :" . $_POST['Color']; // Displaying stored and selected value
}
?>
 
$_SERVER['REQUEST_METHOD'] gebruik je als je niet weet of POST of GET wordt gebruikt (bijvoorbeeld als er een GET én een POST form op één pagina staat).

Probeer $_SERVER te vermijden tenzij het niet anders kan. Het aanbieden van de waardes in deze array verschilt per webserver!

Soms kan je ook met empty() werken omdat deze wat meer dingen test dan isset().
Zie de vergelijking
 
Laatst bewerkt:
$_SERVER['REQUEST_METHOD'] gebruik je als je niet weet of POST of GET wordt gebruikt (bijvoorbeeld als er een GET én een POST form op één pagina staat).
Probeer $_SERVER te vermijden tenzij het niet anders kan. Het aanbieden van de waardes in deze array verschilt per webserver!
De $_SERVER['REQUEST_METHOD'] is altijd POST als er een formulier via POST is gestuurd. Dit is de enige logische weg om een formulier te controleren. Je wilt weten of het formulier verstuurd is, en niet valideren of een bepaalde inputwaarde bestaat. Ik zou dit altijd gebruiken voor een controle op een formulier. Deze waarde zal nooit verschillen per webserver! Andere $_SERVER-variabelen daarentegen wel, maar die doen ook heel wat anders.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan