php重定向到带有警告对话框的页面

时间:2016-11-26 05:47:06

标签: javascript php

如果注册成功,我需要从php显示警告对话框。我想要重定向到另一个页面。我的PHP代码在这里:

 if($conn->query($sql)===TRUE){
            echo "<script>alert('Registration Successfull');</script>";
            header('Location: index.php');
            exit();
    }

但我收到一条警告信息:

  

警告:无法修改标头信息 - 已发送的标头   (输出始于   /home/bdacademichelp/public_html/medcino.com/signup_back.php:19)in   /home/bdacademichelp/public_html/medcino.com/signup_back.php上线   20

第19行是显示警告信息的回显线

2 个答案:

答案 0 :(得分:1)

您可以在提醒和重定向中打印消息,如下所示:

echo "<script>alert('Success');document.location='index.php'</script>";

在你的代码中,你已经发送了一些 echo ,所以你不能在那之后使用标题。

答案 1 :(得分:1)

使用javascript警报会延迟重定向,直到用户单击“确定”。您可能想要做的是在订阅成功时在index.php中显示警报。传递此信息的方法有几种,但最常见的方法是在会话中传递成功消息。

// page1.php

<?php


session_start();
if($conn->query($sql)===TRUE){
            $_SESSION['message'] = "Registration successful";
            header('Location: index.php');
            exit();
}

session_write_close ();
?>

// index.php

<?php

session_start();

if (isset($_SESSION['message'])) {
    $show_message = $_SESSION['message'];
    $_SESSION['message'] = null;
}
session_write_close ();

// ...

if (isset($show_message)) {
echo "<script>alert('{$show_message}');</script>";
}

其他替代方法是传递URL中的数据,例如index.php?message = Registration%20Successful或在cookie中传递消息。