重定向基于 URL 参数并且如果 URL 参数在 table 行中可用 - PHP MySQL

Redirect based on URL parameter and if URL parameter is available in table row - PHP MySQL

我有一个 table 其中一个属性是版本。

table 名称是版本。

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

到目前为止我有这个。没用。

$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");
}

$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");
}

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

试试这样的东西:

  <?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();
    ?>