【问题标题】:Undefined variable error in PHP. How can I fix it? [duplicate]PHP 中未定义的变量错误。我该如何解决? [复制]
【发布时间】:2016-06-14 08:02:51
【问题描述】:

我遇到了一个错误:

注意:未定义变量:pollid

这里有什么问题?

<?php
    $pollid = $_GET['pollid'];
    $connect = mysqli_connect('localhost', 'root','test','apklausa1');
    $query = "SELECT * FROM polls WHERE pollid='$pollid'";
    $q = mysqli_query($connect, $query);

    while($row = mysqli_fetch_array($q)) {
        $id = $row[0];
        $title = $row[1];
        $pollid = $row[2];
        $ipaddress = $row[3];
        echo "<h1>$title</h1>";
?>

        <table>
            <form action="" method="POST">

<?php
            $questions = "SELECT * FROM questions WHERE pollid='$pollid'";
            $q2 = mysqli_query($connect, $questions);
            while($r = mysqli_fetch_array($q2)) {
            $question = $r[1];
            $votes = $r[2];
            $newvotes = $votes + 1;
            $ip = $_SERVER['REMOTE_ADDR'];
            $newipaddress = $ipaddress."$ip,";

            if (isset($_POST['vote'])) {
                $polloption = $_POST['polloption'];
                if ($polloption == "") {
                    die("You didn't select an option.");
                } else {

                        $ipaddresse = explode(",", $ipaddress);
                        if (in_array($ip, $ipaddresse)) {
                            die("You've already voted");
                        } else {
                    mysqli_query($connect, "UPDATE questions SET votes='$newvotes' WHERE pollid='$pollid' AND question='$polloption'");
                    mysqli_query($connect, "UPDATE polls SET ipaddress='$newipaddress' WHERE pollid='$pollid'");
                    die("You voted Successfully");
                    }
                }
            }

            echo
              '<tr><td>' . $question .
              '</td><td><input type="radio" name="polloption" value="' .
              $question .
              '" /> ' . $votes .
              ' votes</td></tr>';
        }
    }

?>

【问题讨论】:

  • $_GET['pollid'] 未定义或没有值
  • 能否指定行号

标签: php error-handling compiler-errors syntax-error runtime-error


【解决方案1】:

你需要看看$_GET['pollid']的值是从哪里来的。

可能错误即将到来,因为变量$pollid 没有得到值。因此,它未设置并显示错误消息。请检查您发出 HTTP GET 请求的表单。一旦收到值,问题就解决了。

【讨论】:

    【解决方案2】:

    $_GET['pollid'] 未声明。

    在某些情况下,$_GET$_POST 变量可能没有被声明。使用isset() 可以帮助您检查变量是否已声明。

    例如,

    if(isset($_GET['pollid']))
    {
       // Your code here
    }
    

    【讨论】:

      猜你喜欢
      • 2022-11-25
      • 1970-01-01
      • 2012-02-22
      • 2022-07-03
      • 2018-10-08
      • 1970-01-01
      • 2018-05-06
      • 2013-12-21
      • 1970-01-01
      相关资源
      最近更新 更多