首页 > 解决方案 > $_GET 不在这里醒来?

问题描述

get 在这段代码中不起作用我试过这个并且有

注意:未定义索引:charttype

<form method="POST" action="index.php" name="charttype">
  <select name="charttype" id="charttype" class="custom-select" value="charttype">
    <option selected value="0">Choose...</option>
    <option value="1">Pie Chart</option>
    <option value="2">Scatter Chart</option>
    <option value="3">Bar Chart</option>
    <option value="4">Line Chart</option>
  </select>
</form>

<?php 

$chart_type = "";
$chart_type = $_GET['charttype'];  
?>

标签: phphtml

解决方案


您已经在表单标签中定义了POST请求,您无法使用它访问它$_GET

 <form method="POST" action="index.php" name="charttype">

两者兼得$_GET_$_POST$_REQUEST

if($_POST){
    $chart_type = $_POST['charttype'];
}

将您的代码更改为以下

<form method="GET" action="" name="charttype">
  <select name="charttype" id="charttype" class="custom-select" value="charttype">
    <option selected value="0">Choose...</option>
    <option value="1">Pie Chart</option>
    <option value="2">Scatter Chart</option>
    <option value="3">Bar Chart</option>
    <option value="4">Line Chart</option>
  </select>
  <input type="submit" name="submit" value="submit">
</form>
<?php
 if(isset($_GET['submit'])){
  echo $chart_type = $_GET['charttype'];
 }     
?>  

推荐阅读