J'utilise select
comme ci-dessous:
<select name="taskOption">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
Comment puis-je obtenir la valeur de l'option select
et la stocker dans une variable pour une utilisation ultérieure, en PHP?
Utilisez cette manière:
$selectOption = $_POST['taskOption'];
Mais il est toujours préférable de donner des valeurs à vos balises <option>
.
<select name="taskOption">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
Vous pouvez accéder aux valeurs du tableau $_POST
par leur clé. $ _POST est un tableau associatif, donc pour accéder à taskOption
, vous utiliseriez $_POST['taskOption'];
.
Assurez-vous de vérifier s’il existe dans le tableau $ _POST avant de continuer.
<form method="post" action="process.php">
<select name="taskOption">
<option value="first">First</option>
<option value="second">Second</option>
<option value="third">Third</option>
</select>
<input type="submit" value="Submit the form"/>
</form>
process.php
<?php
$option = isset($_POST['taskOption']) ? $_POST['taskOption'] : false;
if ($option) {
echo htmlentities($_POST['taskOption'], ENT_QUOTES, "UTF-8");
} else {
echo "task option is required";
exit;
}
Vous pouvez le faire comme ça aussi:
<?php
if(isset($_POST['select1'])){
$select1 = $_POST['select1'];
switch ($select1) {
case 'value1':
echo 'this is value1<br/>';
break;
case 'value2':
echo 'value2<br/>';
break;
default:
# code...
break;
}
}
?>
<form action="" method="post">
<select name="select1">
<option value="value1">Value 1</option>
<option value="value2">Value 2</option>
</select>
<input type="submit" name="submit" value="Go"/>
</form>
<select name="taskOption">
<option value="first">First</option>
<option value="second">Second</option>
<option value="third">Third</option>
</select>
$var = $_POST['taskOption'];
Dépend de si le formulaire contenant la sélection a pour méthode "get" ou "post".
Si <form method="get">
, la valeur de la sélection sera située dans le tableau super global $_GET['taskOption']
.
Si <form method="post">
, la valeur de la sélection sera située dans le tableau super global $_POST['taskOption']
.
Pour le stocker dans une variable, vous devriez:
$option = $_POST['taskOption']
Un bon endroit pour plus d'informations serait le PHP manual: http://php.net/manual/en/tutorial.forms.php
Comme ça:
<?php
$option = $_POST['taskOption'];
?>
L'index du tableau $_POST
est toujours basé sur la valeur de l'attribut name
de toute entrée HTML.
- fichier html -
<select name='city[]'>
<option name='Kabul' value="Kabul" > Kabul </option>
<option name='Herat' value='Herat' selected="selected"> Herat </option>
<option name='Mazar' value='Mazar'>Mazar </option>
</select>
- fichier php -
$city = (isset($_POST['city']) ? $_POST['city']: null);
print("city is: ".$city[0]);
<select name="taskOption">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
essaye ça
<?php
if(isset($_POST['button_name'])){
$var = $_POST['taskOption']
if($var == "1"){
echo"your data here";
}
}?>