Php 尝试检查会话是否存在';I don’我没有按预期工作

Php 尝试检查会话是否存在';I don’我没有按预期工作,php,session,Php,Session,我试图在刷新页面时检查是否存在会话。如果存在会话,则将隐藏具有表单的div。另一侧显示div 登录后,如果第一次刷新页面,“login”div将隐藏,但如果再次刷新,则会显示“login”div。我怎样才能解决这个问题?谢谢你的帮助 上升 HTML Usuario 密码 JAVASCRIPT和PHP cabecera.php <? @header('Content-Type:text/html; charset=utf-8'); session_start(); define

我试图在刷新页面时检查是否存在会话。如果存在会话,则将隐藏具有表单的div。另一侧显示div

登录后,如果第一次刷新页面,“login”div将隐藏,但如果再次刷新,则会显示“login”div。我怎样才能解决这个问题?谢谢你的帮助

上升 HTML


Usuario

密码

JAVASCRIPT和PHP

cabecera.php

 <? @header('Content-Type:text/html; charset=utf-8');
 session_start();
 define('MAX_IDLE_TIME', 3);
 ?>

index.php

<?
require('cabecera.php');
?>

$(document).ready(function(){

           iniciarSesion();

});

function iniciarSesion(){
         $.ajax({type: "POST",
                url: "compruebaIniciaSesion.php",
                success:function(data) {

                 if(data=='ok'){  
                    $("#login").hide();
                    $('#iniciarSesion').replaceWith('<a href="#" class="registroacceso" id="cerrarSesion" onclick="cerrarSesion()">Cerrar sesi&oacute;n</a>');
                 }
                 else{
                    $('body').append('<div id="mascara"></div>');
                    $('#mascara').fadeIn(300);
                    $("#login").delay(100).animate({
                        top: '120px',
                        podition: 'absolute'
                    }, 300).effect("bounce", { distance: 90, times: 2 }, 600).effect("bounce", { distance: 10, times: 3 }, 400);
                    var snd = new Audio("sounds/bounce.mp3");
                    snd.play(); 
                 }
                                        }
            })


}

function cerrarSesion() {

                    <?session_destroy();?>
                    $('#cerrarSesion').replaceWith('<a href="#iniciar" class="registroacceso" id="iniciarSesion" onclick="iniciarSesion()">Iniciar sesi&oacute;n</a>');   

}

$(文档).ready(函数(){
iniciarsion();
});
函数初始化(){
$.ajax({type:“POST”,
url:“comprueBainiciasion.php”,
成功:功能(数据){
如果(数据=='ok'){
$(“#登录”).hide();
$(“#iniciarsion”)。替换为(“”);
}
否则{
$('body')。追加('');
$('睫毛膏').fadeIn(300);
$(“#登录”).delay(100)。设置动画({
顶部:'120px',
领奖台:“绝对”
}效果(“反弹”,“距离:90,次数:2600”)。效果(“反弹”,“距离:10,次数:3400”);
var snd=新音频(“sounds/bounce.mp3”);
snd.play();
}
}
})
}
函数ceraresesion(){
$(“#Cerrasesion”)。替换为(“”);
}
compruebainiciasion.php

<?php

require('cabecera.php');
if (isset($_SESSION['idUsuario'])) {
        echo 'ok';
}

?>

为此,您需要AJAX

但是,您可以这样改进内联php代码:

<? if(....): ?>
    HTMTL or javascript code here
<? else: ?>
    HTMTL or javascript code here
<? endif ?>

这里是HTML或javascript代码
这里是HTML或javascript代码

您在iniciarsion()中将“position”拼写为podition,请更正后再试?

您需要研究客户端脚本和服务器端脚本之间的区别,您不能以这种方式在Javascript函数中运行PHP。那么,我是否应该使用Ajax检查另一个PHP中是否存在会话?我已经更新了代码。请看,我不建议使用ajax,只需在服务器中进行检查,并使用条件相应地调整视图
<? if(....): ?>
    HTMTL or javascript code here
<? else: ?>
    HTMTL or javascript code here
<? endif ?>