PHP POST给出未定义的索引

时间:2017-05-24 03:50:24

标签: php variables post http-post

我是PHP的新手,所以请不要判断。

我遇到undefined index这个问题。我想我知道我的问题是什么。我第一次加载代码时,我没有任何值,因此我应该定义在没有选择值时要执行的操作。

我尝试了很多与isset的组合,但无法修复它。也许我只是不知道如何写下来。有人可以指导我特别针对我的案例吗?

以下是我的代码:https://pastebin.com/kLAS4JRv

<?php

if (($_POST ['klausimas1'] == 0)) {
  echo '';
} elseif (($_POST ['klausimas1'] == 1)) {
  echo '<div class="alert alert-success">Taip, tai yra Elnias</div>';
} elseif (($_POST ['klausimas1'] != 1)) {
  echo '<div class="alert alert-danger">Ne, tai yra Elnias</div>';
}

3 个答案:

答案 0 :(得分:0)

if(isset($_POST['klausimas1'])) {
    if ($_POST ['klausimas1'] == 0) {
        echo '';
    } elseif ($_POST ['klausimas1'] == 1) {
        echo '<div class="alert alert-success">Taip, tai yra Elnias</div>';
    } elseif ($_POST ['klausimas1'] != 1) {
        echo '<div class="alert alert-danger">Ne, tai yra Elnias</div>';
    }
}

答案 1 :(得分:0)

要检查是否设置了帖子,您正在寻找isset。然后,您只需要稍微重新构建代码,只检查isset检查中的条件:

if(isset($_POST['klausimas1'])) {
  if ($_POST['klausimas1'] == 1) {
    echo '<div class="alert alert-success">Taip, tai yra Elnias</div>';
  } elseif ($_POST['klausimas1'] != 1) {
    echo '<div class="alert alert-danger">Ne, tai yra Elnias</div>';
  }
}

另请注意,$_POST与您要检查的变量之间不能包含空格。我在上面的例子中解决了这个问题。

希望这有帮助! :)

答案 2 :(得分:0)

你只需检查代码中的$ _POST ['klausimas1'],你应该检查你将要使用的帖子的所有元素。

您可以使用它,您可以为它们定义默认值。

$klausimas1 = isset($_POST ['klausimas1']) ? $_POST ['klausimas1'] : '';
$klausimas2 = isset($_POST ['klausimas2']) ? $_POST ['klausimas2'] : '';
$klausimas3 = isset($_POST ['klausimas3']) ? $_POST ['klausimas3'] : '';

if (isset ( $_POST ['klausimas1'] ) && isset($_POST ['klausimas2']) && isset($_POST ['klausimas3'])) {
    $klausimas1 = $_POST ['klausimas1'];
    $klausimas2 = $_POST ['klausimas2'];
    $klausimas3 = $_POST ['klausimas3'];