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

如何在php语句中正确执行此javascript?,javascript,php,session,Javascript,Php,Session,以下代码仅在会话超时时调用。我基本上想用javascript显示一个确认对话框,让用户选择是否保持在线。我的问题是,关闭javascript内会话的php似乎被执行,即使确认为true if (isset($_SESSION['username']) && isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > 5)) { ?> <sc

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

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
?>
if(isset($会话['username'])和&isset($会话['last\u活动]])&(time()-$会话['last\u活动]>5)){
?>
如果(确认(“您因不活动而注销,如果您想保持登录状态,请单击“确定”)){
标题(“位置:/”;
}否则{

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

wiki的答案没有帮助巴德:\Thank You Though将你的PHP代码在其他部分移到PHP文件中,然后发送ajax调用或者通过window.location重定向到它。@rightfold提到了这个问题