0

一旦值提交到 php.ini 中的数据库,我有下面的代码重定向到同一页面。在重定向之前,它必须打印提交值的 js 警报。使用下面的代码,它只是重定向但不打印警报。请告诉我代码中的问题在哪里。

if ($runsql)
    {
        do_alert ("Profile for ".$student_pet_name." Saved Successfully");
        header('Location: student_detail_entry.php');   
    }
    else
    {
        echo "Error in Submitted Value ". mysql_error();
    }

我的 do_alert 功能是

function do_alert($msg) 
    {
        echo '<script type="text/javascript">alert("' . $msg . '"); </script>';
    }

谢谢...

4

3 回答 3

3

如果使用 header() 函数重定向,浏览器将立即重定向,不会为浏览器输出其他数据。

您可以先 alert() 并使用 javascript 执行重定向,例如使用

window.location = "http://www.google.com/"

阅读有关 header() 函数的更多信息:PHP.net header()

于 2013-07-03T06:59:34.223 回答
0

您不能同时打印到屏幕和重定向。header()要求未发送任何输出,并且由于您正在回显您的 JavaScript 警报,重定向和 JavaScript 执行将不会按照您的预期运行。

解决方案?也许将某种消息作为 GET 参数传递,并student_detail_entry.php改为发出警报(在页面加载时)。

于 2013-07-03T06:59:57.703 回答
0

你可以使用,

location.href="student_detail_entry.php";

代替,

header('Location: student_detail_entry.php');
于 2013-07-03T07:06:12.473 回答