将所选值中的参数获取到PHP


Get parameter from selected value to PHP

我的文件中有这段代码

$cdresult=$conn->query("SELECT * FROM tahun");
            echo "<select id='"cd'" name='"cd'">";
            do{
                $cdTitle=$cdrow["thn"];
                $cdValue=$cdrow["id_tahun"];
                echo "<option value='$cdTitle'>
                $cdTitle
            </option>";
            }while ($cdrow=$cdresult->fetch_assoc());
            echo " </select>";
            $selected_val=$_POST['cd'];
                echo "You have selected : $selected_val";

当我从我的网站上选择该选项时,如何获得该选项的值,因为当我使用时

$selected_val=$_POST['cd'];           
echo "You have selected : $selected_val";

我得到了这个错误注意:未定义的索引:cd inC: ''axamplep''htdocs''xxx''xxxx''note.php,第99行

我使用这个脚本来获取值,这样我就可以对我的查询进行验证。感谢

$_POST['cd']将是未定义的,如果浏览器从未将该信息发送到脚本。例如,当您第一次加载页面时(没有提交表单时)就会发生这种情况。

在尝试使用数据之前测试数据是否可用。将最后两行更改为

if(isset($_POST['cd'])) echo "You have selected : $_POST[cd]";

我不确定这些值是如何提交到这个页面的,您的输入字段应该位于用于提交值的内部。

因此,你收到了警告,你可以通过检查来消除它

if ( true == isset( $_POST['cd'] ) ) {
    $selected_val = $_POST['cd'];
    echo "You have selected : $selected_val";
}

PHP处理表单

试试这个代码:

<html>
 //function for get selected element
<script type="text/javaScript">
  function getval() {
        var val = document.getElementById("cd").value;
        document.getElementById('selected').innerHTML = '<span>' + val +'</span>';

   }
</script>
<form action="" method="POST">
<?php 
  $cdresult=$conn->query("SELECT * FROM tahun");
              echo '<select id="cd" name="cd" onchange="getval()">';
              while ($cdrow = $cdresult->fetch_assoc()) {
                    echo '<option value="'.$cdrow['id_tahun'].'">'.$cdrow['thn'].'</option>';
                }
              // do{
              //       var_dump($cdrow);
              //     $cdTitle=$cdrow["thn"];
              //     $cdValue=$cdrow["id_tahun"];
              //     echo "<option value='$cdTitle'>
              //     $cdTitle
              // </option>";
              // }while ($cdrow=$cdresult->fetch_assoc());
              echo " </select>";
              $selected_val=$_POST['cd'];
                  echo "You have selected : $selected_val";
  ?>
  <button name="submit">submit</button>
  </form>
</html>

function getval() {
            var val = document.getElementById("cd").value;
            document.getElementById('selected').innerHTML = '<span>' + val +'</span>';
            console.log(val);
            
      }
<html>
  <select name="cd" id="cd" onchange="getval()">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
</select>
<div>
    you have selected value  :<span id="selected"></span> 
</div>
</html>