PHP - 成功登录后执行javascript并重定向到新页面

时间:2016-06-24 02:22:42

标签: javascript php

我有这个2,2,2,2 和一个javascript来同步从客户端浏览器到我的openwrt路由器服务器的日期和时间。我想要的是,每次用户成功登录时,它都会执行该javascript,然后重定向到login.php这是主页。这是我到目前为止所尝试的内容

status.php

但它给了我这个错误:

  

警告:无法修改标头信息 - 已发送的标头   (输出于/www/login.php:10)在第11行的/www/login.php中

我该如何解决?

有些人可能认为我的问题是重复但请理解我需要在成功登录后执行该javascript。

3 个答案:

答案 0 :(得分:1)

问题是您无法在回显后发送标头。要解决此问题,ob_start用于转换输出缓冲,这意味着在使用echo时,不会发送输出,而是将其存储在内部缓冲区中,当我们调用ob_end_flush之后已调用header(),内部缓冲区内容将被刷新,输出缓冲将停止。

尝试:

ob_start();
echo '<script src="date.js"></script>';
header("Refresh: 5; url=status.php");
ob_end_flush();

希望这有帮助。

答案 1 :(得分:0)

你不能把标题放在......#echo;&#34;或其他html元素..

为什么你需要把你的date.js?

if ($_POST['username'] == $user[0] && $_POST['password'] == $pass[0]) {
    $_SESSION['loggedin'] = 1;
 //   echo '<script src="date.js"></script>';
    header("Location: status.php");
    exit;
}

答案 2 :(得分:0)

将JavaScript代码放在你的php代码旁边,打开你的php代码,然后在你的JavaScript代码关闭之前把你的JavaScript代码正常地放回你的代码,然后把它放在php的开始和结束标签之后