- Desde
- 19 Feb 2014
- Mensajes
- 9
Hola a todos.
Tengo un problema con mi session.
El problema comienza cada vez que borro caché, y vuelvo a ingresar en mi área.
Consta de tres archivos, formulario, login y el archivo donde muestro la información restringida.
El form funciona bien, el login recoge los datos y manda a la siguiente página, pero es la última la que no acepta el permiso.
Lo curioso es que borro la restricción de la última página, entro sin problemas por supuesto, y después vuelvo a incluir el mismo código que tenía antes en la página restringida, y ahora sí que acepta el código.
Funciona perfectamente, destruyo session y no se ve la zona restringida, accedo, y se ve.
El problema es saber porqué la primera vez no reconoce el permiso.
Os voy poniendo código.
La tabla, en la que tengo un usuario con permisos, 7777.
Login, que me acepta la información y me redirige a la siguiente.
Aquí va la zona restringida.
Tengo un problema con mi session.
El problema comienza cada vez que borro caché, y vuelvo a ingresar en mi área.
Consta de tres archivos, formulario, login y el archivo donde muestro la información restringida.
El form funciona bien, el login recoge los datos y manda a la siguiente página, pero es la última la que no acepta el permiso.
Lo curioso es que borro la restricción de la última página, entro sin problemas por supuesto, y después vuelvo a incluir el mismo código que tenía antes en la página restringida, y ahora sí que acepta el código.
Funciona perfectamente, destruyo session y no se ve la zona restringida, accedo, y se ve.
El problema es saber porqué la primera vez no reconoce el permiso.
Os voy poniendo código.
La tabla, en la que tengo un usuario con permisos, 7777.
PHP:
CREATE TABLE `usuarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(30) COLLATE latin1_spanish_ci NOT NULL,
`usuario` varchar(30) COLLATE latin1_spanish_ci NOT NULL,
`pass` varchar(30) COLLATE latin1_spanish_ci NOT NULL,
`permisos` int(4) NOT NULL,
`email` varchar(30) COLLATE latin1_spanish_ci NOT NULL,
`fecha` date NOT NULL,
PRIMARY KEY (`id`)
)
Login, que me acepta la información y me redirige a la siguiente.
PHP:
<?php
$conexion=mysql_connect('db','user','pass') or die('No hay conexión a la base de datos');
$db=mysql_select_db('tabla',$conexion)or die('no existe la base de datos.');
$usuarioIng=$_POST['user'];
$passIng=$_POST['permisos'];
session_start();
$consulta=mysql_query("select * from usuarios");
$puerta='continuar';
while($filas=mysql_fetch_array($consulta)and $puerta='continuar'){
$id=$filas['id'];
$nombre=$filas['nombre'];
$usuario=$filas['usuario'];
$pass=$filas['pass'];
$fecha=$filas['fecha'];
$permiso=$filas['permisos'];
if (isset($usuarioIng)and isset($passIng)){
if ($usuario==$usuarioIng and $passIng==$permiso){
echo '<div class="ok">Bienvenido '.$usuario.'</div>';
$miSession=array('id'=>$id,'nombre'=>$nombre,
'usuario'=>$usuario,'pass'=>$pass,
'fecha'=>$fecha,'permisos'=>$permiso);
//ir a la pagina restringida
$_SESSION['miSession']=$miSession;
?>
<html>
<head>
<meta http-equiv="refresh" content="1; url= ../panel.php">
</head>
</html>
<?php
$puerta='salir';
exit;
}else{
$resutado='no';
}
}
}
if ($resutado=='no'){
echo '<div class="no">Su usuario o contraseña no se encontraron</div>';
?>
<html>
<head>
<meta http-equiv="refresh" content="3; url= acceso.php">
</head>
</html>
<?php
}
?>
Aquí va la zona restringida.
PHP:
<?php
session_start();
if ($_SESSION['miSession']['permisos']==7777){
?>
<?php
}else{
echo '<div class="no">No tiene permisos</div>';
?>
<html>
<head>
<meta http-equiv="refresh" content="3; url= index.php">
</head>
</html>
<?php
}
?>
Última edición: