149 votes

Utilisation de $_POST pour obtenir la valeur de l'option de sélection à partir du HTML

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 du select et le stocker dans une variable pour une utilisation future, en PHP ?

228voto

Praveen Kumar Points 29309

Utilisez cette méthode :

$selectOption = $_POST['taskOption'];

Mais il est toujours préférable de donner des valeurs à votre <option> tags.

<select name="taskOption">
  <option value="1">First</option>
  <option value="2">Second</option>
  <option value="3">Third</option>
</select>

36voto

true Points 4609

Vous pouvez accéder aux valeurs dans le $_POST par leur clé. $_POST est un tableau associatif, donc pour accéder à taskOption vous utiliseriez $_POST['taskOption']; .

Assurez-vous de vérifier qu'il existe dans le tableau $_POST avant de poursuivre.

<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; 
   }

15voto

Dan Costinel Points 1327

Vous pouvez aussi le faire comme ça :

<?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>

12voto

Jeroen Vannevel Points 18676
<select name="taskOption">
      <option value="first">First</option>
      <option value="second">Second</option>
      <option value="third">Third</option>
</select>

$var = $_POST['taskOption'];

3voto

user2465080 Points 31

Cela dépend si la méthode du formulaire dans lequel se trouve la sélection est définie sur "get" ou "post".

Si <form method="get"> alors la valeur de la sélection sera située dans le tableau super global $_GET['taskOption'] .

Si <form method="post"> alors la valeur de la sélection sera située dans le tableau super global $_POST['taskOption'] .

Pour le stocker dans une variable, vous devez

$option = $_POST['taskOption']

Pour plus d'informations, vous pouvez consulter le manuel PHP : http://php.net/manual/en/tutorial.forms.php

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X