如何在我的php语句中正确执行此javascript?

时间:2013-12-29 08:52:50

标签: javascript php session

以下代码仅在会话超时时调用。我基本上想要显示一个带有javascript的确认对话框,以便用户选择是否要保持在线状态。我的问题是,即使确认为真,关闭javascript内部会话的php似乎也会被执行。

if (isset($_SESSION['username']) && isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > 5)) {
    ?>
    <script type="text/javascript">
    if (confirm("You were logged off due to inactivity, if you would like to remain logged in click OK.")) {
        header("Location:/");
    } else {
    <?php
    connect();
    if(!connect()) {
        die('Could not connect: ' . mysql_error());
        header( "refresh:3; url=/index.php" );
    }
    mysql_select_db('www');
    $user = $_SESSION['username'];
    mysql_query("UPDATE users SET online='0'
    WHERE username='$user'");
    session_unset();
    session_destroy();
    ?>
    }
    </script>
<?php
}
$_SESSION['last_activity'] = time(); // update last activity time stamp
?>

1 个答案:

答案 0 :(得分:2)

在浏览器加载页面之前,PHP代码运行。浏览器加载页面后,运行JavaScript。你不能只是像这样混合它们,并期望一切都以某种方式愉快地工作。请参阅HTTPAJAXWebSockets