如何在php中访问同一页面上的变量

如何在php中访问同一页面上的变量,php,Php,我想访问同一页上的变量,但无法。。下面给出了我的代码,但错误发生在未定义的索引:cars <form name="form1" action="#" method="post"> <select onChange="openOffersDialog(this.value);" name="cars" id="cars"> <option value="Volvo" id="Volvo">Volvo</option> &l

我想访问同一页上的变量,但无法。。下面给出了我的代码,但错误发生在未定义的索引:cars

<form name="form1" action="#" method="post">
<select onChange="openOffersDialog(this.value);" name="cars" id="cars">  
  <option value="Volvo" id="Volvo">Volvo</option>        
  <option id="Saab" value="Saab" selected>Audi</option>                  
</select>
</form>
<?php $car = $_GET['cars'];
    switch ($car) { 
    case "Volvo": 
    echo  "<table width='50%' border='0'>
          <tr>
            <td>Volvo1</td>
            <td>Volvo2</td>
          </tr>      
        </table>"; 
    break; 
    case "Saab": 
    echo  "<table width='50%' border='0'>
          <tr>
            <td>Saab1</td>
            <td>Saab2</td>
          </tr>      
        </table>" ;
    break;
    default: 
    echo "Sorry,<br>";  
    } ?>

沃尔沃汽车
奥迪

你有三个问题:

  • 您的表单是
    method=“post”
    ,但您正试图从
    $\u GET
    中读取数据,请将其更改为
    $\u post
    (或将表单更改为使用
    method=“GET”
    ,请参阅以获取确定应使用哪种方法的帮助)
  • 无论表单是否已提交,您都试图从表单提交中读取数据。在执行依赖于该值的其余逻辑之前,测试该值是否存在
  • 您没有“提交”按钮,因此无法提交表单。您可能希望PHP在更改select时运行,但除非您有一些JavaScript来触发表单提交,否则情况不会如此

  • 您的表单中有一个
    POST
    方法。将
    $\u GET[“cars”]
    替换为
    $\u POST[“cars”]

    或者,您需要更改
    标记:

    <form name="form1" action="#" method="get">
    
    
    
    此外,你应该先检查一下表格是否已经过账。所以你需要提前放弃

    <?php if (count($_POST) && isset($_POST["cars"])) { ?>
    
    
    

    然后你需要继续。

    你的错误是
    $\u GET
    。试试
    $\u POST['cars']方法。有关更多信息,请阅读下面的链接


    您在方法中使用的是POST而不是GET。还要始终检查变量是否存在,尤其是post/get:
    $car=isset($\u get['cars'])$_获取['cars']:''为什么投票被否决?这个问题虽然微不足道,但却是合理的。我知道现在是星期一,但请振作起来。@JezenThomas当这些琐碎的问题被否决但答案被否决时,我为社区感到抱歉…@HamZa DzCyberDeV我只是按照你的建议做了尝试,并在我设置的“get”位置更正了我的错误。。。问题仍未解决@ShilpaDeshmukh“问题未解决”?这是什么意思?你有错误吗?空页?或者“对不起”?我尝试了获取和发布这两种方法,但仍然没有works@ShilpaDeshmukh-复制/粘贴代码后,将
    $\u GET
    更改为
    $POST
    ,并添加提交按钮,我已经按照你的建议做了更改,但是没有提交按钮的要求其余的代码工作正常,如果你想尝试,我可以发送整个代码我已经尝试了两种方法,但仍然显示相同的错误
    <?php if (count($_POST) && isset($_POST["cars"])) { ?>