好的错误标记| PHP

时间:2010-04-16 23:23:01

标签: php mysql

对于每个想到error_reporting()函数的人来说,它不是,我需要的是每当MySQL查询完成时,语句就像

if($result)
{
    echo "Yes, it was fine... bla bla";
}
else
{
    echo "Obviously, the echo'ing will show in a white page with the text ONLY...";
}

每当语句为真或假时,我希望在使用header()函数重定向时出现错误,并在页面某处的div中回显错误报告。

基本上是这样的:

$error = '';

此部分显示在div标签内

<div><?php echo $error; ?></div>

因此,当使用header()

重定向时,将回显错误部分
if($result)
{
    $error = "Yes, it was fine... bla bla";
    header("Location: url");
}
else
{
    $error = "Something wrong happened...";
    header("Location: url");
}   

但这不起作用:(

2 个答案:

答案 0 :(得分:2)

您可以使用$ _SESSION superglobal。

示例代码:

/* in mysql result checking */
$_SESSION["error"] = "Something wrong happened...";

/* in div tags */
if(!empty($_SESSION["error"])) {
    echo $_SESSION["error"];
    $_SESSION["error"] = "";
}

我还认为你需要在脚本的开头调用session_start(),如果之前没有这样做的话。

最好的问候,
吨。

答案 1 :(得分:1)

这不起作用,因为error中未声明url。您只是在发送位置标题时丢弃(取消设置)error变量。

您应该制作自己的错误代码,例如:

0001 = ok
0002 = DB_error
... 

并通过GET变量,url中的catch'em发送它们并解析它们。

header('Location: url?error='.urlencode($error));