Php $\u在分页时被破坏

Php $\u在分页时被破坏,php,Php,我正在学习PHP。我正在尝试在我的一页中使用分页。如果是第一页,一切正常,但只要我按下“下一页”按钮,就会出现如下错误 Notice: Undefined index: number1 in C:\xampp\htdocs\mycode\compare.php on line 6 Notice: Undefined index: number2 in C:\xampp\htdocs\mycode\compare.php on line 7 Warning: mysqli_fetch_array(

我正在学习PHP。我正在尝试在我的一页中使用分页。如果是第一页,一切正常,但只要我按下“下一页”按钮,就会出现如下错误

Notice: Undefined index: number1 in C:\xampp\htdocs\mycode\compare.php on line 6
Notice: Undefined index: number2 in C:\xampp\htdocs\mycode\compare.php on line 7
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\mycode\compare.php on line 18
我想这是因为我在第6行和第7行中使用了$_GET,但我不知道为什么在我试图进入下一页时它就被销毁了。我的完整代码如下所示

<?php include("includes/header.php");

    require("includes/function.php");
    require("language/language.php");

      $number1 = $_GET['number1'];
      $number2 = $_GET['number2'];

      $tableName="number_status";   
      $targetpage = "compare.php";   
      $limit = 10;
      $sr=0;

      $query = "SELECT COUNT(*) as num FROM $tableName WHERE number = $number1 OR number = $number2 ";
      $total_pages = mysqli_fetch_array(mysqli_query($mysqli,$query));
      $total_pages = $total_pages['num'];

      $stages = 3;
      $page=0;
      if(isset($_GET['page'])){
      $page = mysqli_real_escape_string($mysqli,$_GET['page']);
      }
      if($page){
        $start = ($page - 1) * $limit; 
      }else{
        $start = 0; 
        } 

     $quotes_qry="SELECT * FROM number_status WHERE number = $number1 OR number = $number2  ORDER BY id DESC LIMIT $start, $limit";

     $result=mysqli_query($mysqli,$quotes_qry);

?>

    <div class="row">
      <div class="col-xs-12">
        <div class="card mrg_bottom">
          <div class="page_title_block">
            <div class="col-md-5 col-xs-12">
              <div class="page_title">Number Details</div>
            </div>

          </div>
          <div class="clearfix"></div>
          <div class="row mrg-top">
            <div class="col-md-12">

              <div class="col-md-12 col-sm-12">
                <?php if(isset($_SESSION['msg'])){?> 
                 <div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
                    <?php echo $client_lang[$_SESSION['msg']] ; ?></a> </div>
                <?php unset($_SESSION['msg']);}?>   
              </div>
            </div>
          </div>
          <div class="col-md-12 mrg-top">
            <table class="table table-striped table-bordered table-hover">
              <thead>
                <tr>                                 
                  <th>#SR</th>
                  <th>Number</th>
                  <th>Online Time</th>
                  <th>Offline Time</th>
                  <th>Duration</th>
                </tr>
              </thead>
              <tbody>
                <?php   
                        $i=0;
                        while($row=mysqli_fetch_array($result))
                        {
                        $number = $row['number'];
                        $start_time = "<span style='color:green;'>".$row['start_time']."</span>";
                        $end_time   = "<span style='color:red'>".$row['end_time']."</span>";                            
                        $tmp = strtotime($row['end_time']) - strtotime($row['start_time']);
                        $duration = floor($tmp/3600) . ":" . floor($tmp/60) . ":" . ($tmp%60);

                ?>
                <tr>

                  <td><?php echo ++$sr+$start;?></td> 
                  <td><?php echo $number ?></td>
                  <td><?php echo nl2br($start_time);?></td>               
                  <td><?php echo nl2br($end_time);?></td>
                  <td><?php echo nl2br ($duration); ?></td>

                </tr>
                <?php

                        $i++;
                        }
                ?> 
              </tbody>
            </table>
          </div>
            <div class="col-md-12 col-xs-12">
            <div class="pagination_item_block">
              <nav>
                <?php if(!isset($_POST["quotes_search"])){ include("pagination.php");}?>                 
              </nav>
            </div>
          </div>
          <div class="clearfix"></div>
        </div>
      </div>
    </div>

<?php include("includes/footer.php");?>  
我的pagination.php是这样的

<?php
                                // Initial page num setup
    if ($page == 0){$page = 1;}
    $prev = $page - 1;  
    $next = $page + 1;                          
    $lastpage = ceil($total_pages/$limit);      
    $LastPagem1 = $lastpage - 1;                    


    $paginate = '';
    if($lastpage > 1)
    {   
        $paginate .= "<ul class='pagination'>";
        // Previous
        if ($page > 1){
            $paginate.= "<li><a href='$targetpage?page=$prev' aria-label='Previous'><span aria-hidden='true'>&laquo;</span></a></li>";
        }else{
            $paginate.= "<li><span aria-hidden='true'>&laquo;</span></li>"; }



        // Pages    
        if ($lastpage < 7 + ($stages * 2))  // Not enough pages to breaking it up
        {   
            for ($counter = 1; $counter <= $lastpage; $counter++)
            {
                if ($counter == $page){
                    $paginate.= "<li class='active'><span class='active'>$counter</span></li>";
                }else{
                    $paginate.= "<li><a href='$targetpage?page=$counter'>$counter</a></li>";}                   
            }
        }
        elseif($lastpage > 5 + ($stages * 2))   // Enough pages to hide a few?
        {
            // Beginning only hide later pages
            if($page < 1 + ($stages * 2))       
            {
                for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
                {
                    if ($counter == $page){
                        $paginate.= "<li class='active'><span class='active'>$counter</span></li>";
                    }else{
                        $paginate.= "<li><a href='$targetpage?page=$counter'>$counter</a></li>";}                   
                }
                $paginate.= "<li>...</li>";
                $paginate.= "<li><a href='$targetpage?page=$LastPagem1'>$LastPagem1</a></li>";
                $paginate.= "<li><a href='$targetpage?page=$lastpage'>$lastpage</a></li>";      
            }
            // Middle hide some front and some back
            elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
            {
                $paginate.= "<li><a href='$targetpage?page=1'>1</a></li>";
                $paginate.= "<li><a href='$targetpage?page=2'>2</a></li>";
                $paginate.= "<li>...</li>";
                for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
                {
                    if ($counter == $page){
                        $paginate.= "<li class='active'><span class='active'>$counter</span></li>";
                    }else{
                        $paginate.= "<li><a href='$targetpage?page=$counter'>$counter</a></li>";}                   
                }
                $paginate.= "<li>...</li>";
                $paginate.= "<li><a href='$targetpage?page=$LastPagem1'>$LastPagem1</a></li>";
                $paginate.= "<li><a href='$targetpage?page=$lastpage'>$lastpage</a></li>";      
            }
            // End only hide early pages
            else
            {
                $paginate.= "<li><a href='$targetpage?page=1'>1</a></li>";
                $paginate.= "<li><a href='$targetpage?page=2'>2</a></li>";
                $paginate.= "<li>...</li>";
                for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
                {
                    if ($counter == $page){
                        $paginate.= "<li class='active'><span class='active'>$counter</span></li>";
                    }else{
                        $paginate.= "<li><a href='$targetpage?page=$counter'>$counter</a></li>";}                   
                }
            }
        }

                // Next
        if ($page < $counter - 1){ 
            $paginate.= "<li><a href='$targetpage?page=$next' aria-label='Next'><span aria-hidden='true'>&raquo;</span></a></li>";
        }else{
            $paginate.= "<li><span aria-hidden='true'>&raquo;</span></li>";
            }

        $paginate.= "</ul>";        


}

 // pagination
 echo $paginate;
                                ?>
如果有人能帮我摆脱困境,请告诉我。
感谢

这两个通知意味着调用php页面时忽略了查询字符串中的页面参数,因此$\u GET['page']会导致未定义的索引消息。最后一条消息表示mysqli_query$mysqli$query返回false,您不能将该结果用作mysqli_fetch_数组的参数。在使用DB函数时,您应该始终检查错误。由于上一个错误,$number1和$number2为空,因此查询出错。

可能是重复的。您是否注意阅读我的标题?如何转到下一页导航以持久保存数据时,您必须将查询字符串添加到url。你展示了很多代码,我不想全部阅读,这些都是无用的,也没有给我们有用的内容,包括depagination.php@让我补充一下。Thanks@ArtisticPhoenix,我已加上。感谢该查询出错,因为除其他外,它容易受到SQL攻击,真正的错误是选择*从编号\状态,其中编号=或因为没有引号,并且该值丢失,您得到=或,如果有引号或已准备好,则将从编号\状态,其中编号=或