在第一个加载页面上,我得到这个未定义的索引错误,我知道为什么..因为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>
答案 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
}