PHP标头不会传递变量

时间:2014-01-10 15:42:03

标签: php variables header

我一直在尝试这个

header('location:view.php?id='.$editid.'&catid='.$catid.'');
exit;

并且它只传递$ editid变量,第二个变为空白,因此URL看起来像

 view.php?id=0&catid= 

我在不同的页面上使用几乎完全相同的东西,它可以完美地工作,并且两个变量都是定义的。在另一个页面上,我使用相同的标题,并且都没有传递变量。

定义了变量。 Catid定义为

$catid = mysqli_real_escape_string($dbc, strip_tags($_REQUEST["catid"]));

编辑:完整脚本:

if($mygroup == "admin" or $mygroup == "moderator"){
$editid = mysqli_real_escape_string($dbc, strip_tags($_REQUEST["id"]));
$catid = mysqli_real_escape_string($dbc, strip_tags($_REQUEST["catid"]));
if(isset($_POST['title'])){
    $title = mysqli_real_escape_string($dbc, strip_tags($_POST['title']));
    if($mygroup == "admin"){
        $content = mysqli_real_escape_string($dbc, ($_POST['content']));
    }
    else{
        $content = mysqli_real_escape_string($dbc, strip_tags($_POST['content']));
    }
    $query = "UPDATE threads SET title = '$title', content = '$content' WHERE `id` = '$editid'"
    or die("Query failed");
    $result = mysqli_query($dbc, $query);
    header("Location: view.php?id=".$editid."&catid=".$catid);
    exit;
    mysqli_close($dbc);
    }

}

1 个答案:

答案 0 :(得分:0)

$editid=0;$catid=1;
header('location:test.php?id='.$editid.'&catid='.$catid.'');
exit;

为我工作。你确定$ catid已设定好吗? 尝试调试:

echo 'location:test.php?id='.$editid.'&catid='.$catid;
exit;