使用post方法但未定义索引

时间:2016-05-21 12:13:04

标签: php

在第一个加载页面上,我得到这个未定义的索引错误,我知道为什么..因为post方法从未发生过。所以任何人都可以帮我解决这个问题吗?

        <form id="checkserver" method="POST">

<select class="btn2" name="server" onchange="$('#checkserver').submit();">
    <option value="all">Show all </option>
    <option value="Russia" <?=($_POST["server"] == 'Russia')?'selected':''?>>Russia</option>
    <option value="Europe" <?=($_POST["server"] == 'Europe')?'selected':''?>>Europe</option>
    <option value="Indonesia" <?=($_POST["server"] == 'Indonesia')?'selected':''?>>Indonesia</option>

    </select>
</form>

5 个答案:

答案 0 :(得分:3)

您需要先检查发布的检查值,

离。

<?php echo

并且不赞成使用<?=而不是DataKinds

答案 1 :(得分:2)

这里你的代码工作是。

$_POST["server"]

如果设置了<option value="Russia" <?php if($_POST["server"]){ ($_POST["server"] == 'Russia')?'selected':''; } ?>>Russia</option> ,则必须首先检查是否设置了2条件,然后检查值。我希望它会对你有所帮助。

答案 2 :(得分:1)

你这样检查。

<option value="Russia" <?= (($_POST["server"] && $_POST["server"] == 'Russia') ?'selected="selected"':'');?>>Russia</option>

答案 3 :(得分:1)

首先,您必须检查是否存在后期值:

isset($_POST['server'])

答案 4 :(得分:-1)

当用户第一次在浏览器中打开页面时,将使用GET方法请求它。只有当用户在已打开的页面上提交表单时,您才会收到POST个请求 因此,在使用POST变量之前,您必须检查请求方法是否为$_POST

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    //some code here
}