【问题标题】:Redirect based on URL parameter and if URL parameter is available in table row - PHP MySQL根据 URL 参数重定向,如果 URL 参数在表行中可用 - PHP MySQL
【发布时间】:2016-07-05 13:07:36
【问题描述】:

我有一张表,其中一个属性是版本。

表名是versions。

如果 URL 参数(也称为版本)为 NULL 或不存在,并且版本值不在我的表中,我想将用户重定向到默认页面。

到目前为止,我有这个。它不起作用。

$stonevar = isset($_GET['version']) ? $_GET['version'] : NULL;

if (empty($stonevar)) {
header("Location: index.php?version=default");
 }

$id = $_GET['version'];
$result = $db->query("SELECT * FROM `versions` WHERE version='$id'");

 while ($row = $result->fetch_assoc()) {
  $varex = $row['version'];
 }

if ($varex == NULL) {
header("Location: index.php?default");
}

【问题讨论】:

    标签: php mysql redirect mysqli url-parameters


    【解决方案1】:

    使用$result->num_rows统计结果,看看版本是否存在。

    $stonevar = isset($_GET['version']) ? $_GET['version'] : NULL;
    
    if (empty($stonevar)) {
    header("Location: index.php?version=default");
     }
    
    $id = $_GET['version'];
    $result = $db->query("SELECT * FROM `versions` WHERE version='$id'");
    
    $total_num_rows = $result->num_rows;
    
    if ($total_num_rows>0) {
        while ($row = $result->fetch_assoc()) {
            $varex = $row['version'];
        }
    }
    else{
        header("Location: index.php?default");
    }
    

    【讨论】:

      【解决方案2】:

      你必须添加 exit();在标头函数之后。

      试试类似的东西:

        <?php
          $stonevar = isset($_GET['version']) ? $_GET['version'] : NULL;
      
          if (empty($stonevar)) {
          header("Location: index.php?version=default");
          exit();
           }
      
          $result = $db->query("SELECT * FROM `versions` WHERE version='$stonevar'");
      
           while ($row = $result->fetch_assoc()) {
      
          header("Location: index.php?".$row['version']);
          exit();
      /*
      * or something you want to do if version exist
      */
           }
      
          header("Location: index.php?default");
          exit();
          ?>
      

      【讨论】:

        猜你喜欢
        • 2011-01-09
        • 2017-01-21
        • 2017-04-29
        • 2021-11-03
        • 1970-01-01
        • 2011-02-18
        • 2014-03-31
        • 2019-04-20
        • 2015-06-16
        相关资源
        最近更新 更多