重定向到标题而不在php中打印js警报

时间:2013-07-03 06:56:48

标签: php javascript

我将以下代码重定向到同一页面,一旦将值提交到php中的数据库。在重定向之前,它必须打印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>';
    }

感谢...

3 个答案:

答案 0 :(得分:3)

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

您可以首先提醒()并使用javascript执行重定向,例如与

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

详细了解header()函数:PHP.net header()

答案 1 :(得分:0)

您不能同时打印到屏幕并重定向。 header()要求没有发送任何输出,并且因为您正在回显:您的JavaScript警报,重定向&amp; JavaScript执行将不会像您期望的那样运行。

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

答案 2 :(得分:0)

您可以使用,

location.href="student_detail_entry.php";

代替,

header('Location: student_detail_entry.php');