我試圖檢查頁面刷新時是否存在會話。如果會話存在,則表單中的div將被隱藏。其他人,div顯示。試圖檢查是否存在會話不按預期方式工作
登錄後,如果第一次刷新頁面,「登錄」div將隱藏,但如果再次刷新,則會顯示「登錄」div。我怎麼解決這個問題?感謝您的幫助
UPTADED HTML
<div id='login'>
<a href="#" class="closelogin"><img src="images/cancel.png" class="btn_cerrarlogin" title="Cerrar" alt="Close" /></a>
<label name='registro' for="txtUser">Usuario</label><br>
<input type="text" name="txtUser" id="txtUser" class="txtfield"><br>
<label name='registro' for="txtPass">Password</label><br>
<input type="password" name="txtPass" id="txtPass" class="txtfield"><br>
<span id="errors"></span>
<input type="button" name="butConectar" id="butConectar" class="butConectar" value="Conectar">
</div>
<div id="opciones">
<a href="#" class="registroacceso" id="registro" >Regístrate ahora!</a>
<a href="#" class="registroacceso" id="iniciarSesion" onclick="iniciarSesion()">Iniciar sesión</a>
</div>
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ó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ón</a>');
}
compruebaIniciaSesion.php
<?php
require('cabecera.php');
if (isset($_SESSION['idUsuario'])) {
echo 'ok';
}
?>
您需要研究客戶端和服務器端腳本之間的區別,您不能以這種方式在Javascript函數中運行PHP –
然後,我應該檢查是否存在使用Ajax的另一個php中的會話嗎? – user3084154
我已更新我的代碼。請看 – user3084154