我正在尝试检查刷新页面时是否存在会话。如果存在会话,则将隐藏具有表单的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';
}
?>
答案 0 :(得分:0)
为此你需要AJAX ...
但是,您可以像这样改进内联php代码:
<? if(....): ?>
HTMTL or javascript code here
<? else: ?>
HTMTL or javascript code here
<? endif ?>
答案 1 :(得分:0)
你在iniciarSesion()中将'position'拼写为 podition ,在纠正后尝试?