如何在php中访问同一页面上的变量
我想访问同一页上的变量,但无法。。下面给出了我的代码,但错误发生在未定义的索引:cars如何在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
<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"])) { ?>