Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php if语句中的WordPress自定义查询变量行为异常_Php_Wordpress - Fatal编程技术网

Php if语句中的WordPress自定义查询变量行为异常

Php if语句中的WordPress自定义查询变量行为异常,php,wordpress,Php,Wordpress,我有一些php从WordPress自定义模板页面上的非WordPress数据库中引入数据。如果查询变量不存在,我想使用php header函数重定向,如: if (qv_isset('id')) { $id = urldecode($wp_query->query_vars['id']); $results = $fhr_db->query("SELECT Game.* WHERE Game.GameID=$id"); if ($results->num_rows)

我有一些php从WordPress自定义模板页面上的非WordPress数据库中引入数据。如果查询变量不存在,我想使用php header函数重定向,如:

if (qv_isset('id')) {
  $id = urldecode($wp_query->query_vars['id']);
  $results = $fhr_db->query("SELECT Game.* WHERE Game.GameID=$id");
  if ($results->num_rows) {
    $game = $results->fetch_object();
    $results->free();
  } else {
    header("location: " . $site_url . "/games-admin/?msg=Error: No game with that ID.");
  }
} else {
  header("location: " . $site_url . "/games-admin/?msg=Error: No ID given.");
}
问题是当存在查询变量“id”时,将调用最后一个标头()。如果我将期末考试的内容更改为:

else {
  echo "fire";
}
if内容将按其应有的方式运行,“fire”将不会被回响。仅当使用header()从同一页面重定向时才会发生这种情况,如下所示:

header("location: " . $site_url . "/game-edit/?id=$id&msg=Game added.");
我认为我使用的标题功能不正确。有人能解释为什么会发生这种情况,特别是if-else语句中的代码如何改变条件的计算吗

这是qv_isset函数:

function qv_isset($var_name) {
  $array = $GLOBALS['wp_query']->query_vars;
  return array_key_exists($var_name, $array);
}

您可以使用wordpress函数
wp\u redirect
函数在新页面或相同页面重新加载时进行重定向,还必须在
wp\u redirect
函数之后使用
exit(0)
函数