使用$ _POST从HTML中获取选择选项值

Fel*_*Tan 126 html php arrays

我使用select如下:

<select name="taskOption">
    <option>First</option>
    <option>Second</option>
    <option>Third</option>
</select>
Run Code Online (Sandbox Code Playgroud)

如何从select选项中获取值并将其存储到变量中以供将来使用,在PHP中?

Pra*_*man 191

使用这种方式:

$selectOption = $_POST['taskOption'];
Run Code Online (Sandbox Code Playgroud)

但是为<option>标签赋值总是更好.

<select name="taskOption">
  <option value="1">First</option>
  <option value="2">Second</option>
  <option value="3">Third</option>
</select>
Run Code Online (Sandbox Code Playgroud)

  • @osullic 同意,但我想 5 年前,一些浏览器没有这样做。 (4认同)

Rya*_*yan 24

您可以$_POST通过键访问数组中的值.$ _POST是一个关联数组,所以要访问taskOption你会使用$_POST['taskOption'];.

确保在继续之前检查它是否存在于$ _POST数组中.

<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>
Run Code Online (Sandbox Code Playgroud)

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; 
   }
Run Code Online (Sandbox Code Playgroud)

  • @Mark Amery这不是一个REST教程. (11认同)

Dan*_*nel 12

你也可以这样做:

<?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>
Run Code Online (Sandbox Code Playgroud)


Jer*_*vel 11

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

$var = $_POST['taskOption'];
Run Code Online (Sandbox Code Playgroud)