如果注册成功,我需要从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行是显示警告信息的回显线
答案 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中传递消息。