当我转到我网页上的特定菜单时,我的会话丢失了。 在login.php上创建会话,然后我被重定向到menus.php,这是我的用户的主页面。如果我进入usuarios.php然后选择其中一个用户,我将重定向到ver_usuarios.php并使用get方法在url上携带一些变量。
当我到达ver_usuarios.php并且如果我刷新页面会话刚刚过期它会让我退出网页并且我没有使用session_destroy();决不。你可以看到我的网页在这里运行:http://santateclacentral.org/login.php user = alejo pass = 123转到usuarios,然后转到每个用户,看看这里的问题是我的代码:
USUARIOS.PHP
<?php
include("../conexion.php");
require_once('../sesion_usuarios.php');
include("../paginacion/paginator.class.php");
$query_usuarios = mysql_query("select usuarios.nick_usuario, roles.rol, miembros.imagen_miembro, usuarios.estado_usuario, usuarios.id_usuario, miembros.nombre_miembro from usuarios join roles on usuarios.id_rol = roles.id_rol join miembros on miembros.id_usuario = usuarios.id_usuario $pages->limit");
$hay = mysql_num_rows($query_usuarios);
if($hay){
while ($datos = mysql_fetch_row($query_usuarios)) {
# code...
?>
<td class="resize"><a href="ver_usuarios.php?user=<?php echo $datos[2]?>&state=<?php echo $datos[3]?>&e=<?php echo $datos[4]?>"><img src="<?php echo $datos[2]?>" width="50px" height="50px"></a></td>
<td class="resize"><?php echo $datos[5]?></td>
<td class="resize"><?php echo $datos[0]?></td>
<td><?php echo $datos[1]?></td>
//Take a look at this , here is where i get the variables and redirect to ver_usaurios.php page
<td><a class="btn btn-info" href="ver_usuarios.php?user=<?php echo $datos[2]?>&state=<?php echo $datos[3]?>&e=<?php echo $datos[4]?>">Ver</a></td>
<?php
if ($datos[3] == true) {
# code...
?>
<td><a class="btn btn-success" href="activar_usuarios.php?user=<?php echo $datos[2]?>&state=<?php echo $datos[3]?>&k=<?php echo $datos[4]?>&activate=9468752130_edit" value="Ver"> Activar </a></td>
<?php
} else{
?>
<td><a class="btn " href="desactivar_usuarios.php?user=<?php echo $datos[2]?>&state=<?php echo $datos[3]?>&k=<?php echo $datos[4]?>&deactivate=1679854320_edit">Desactivar</a></td>
<?php
}
?>
<!-- <td><a class="btn btn-danger" onClick="borrar(<?php echo $datos[4]?>)">Borrar</a></td> -->
<tr></tr>
<?php
}
}else{
?>
<tr>No hay registros</tr>
<?php
}
?>
VER_USUARIOS.PHP?user=&e=
<?php
require("../conexion.php");
session_start();
require_once('../sesion_usuarios.php');
$query_menus_usuarios = mysql_query("SELECT m.id_menu, m.menu_url, m.nombre_menu FROM menus m join menus_usuarios mu on m.id_menu = mu.id_menu join usuarios u on mu.id_usuario = u.id_usuario where u.id_usuario = '".$_SESSION['id_usuario']."' and mu.estado = 1");
while($menus_mostrar = mysql_fetch_row($query_menus_usuarios)){
if($menus_mostrar[2] == "Usuarios"){
?>
<li class="active"><a href="<?php echo $menus_mostrar[1]; ?>"><?php echo $menus_mostrar[2]; ?></a></li>
<?php
} else {
?>
<li ><a href="<?php echo $menus_mostrar[1]; ?>"><?php echo $menus_mostrar[2]; ?></a></li>
<?php
}
}
?>
<li class="dropdown">
<a href="#" class="active" class="dropdown-toggle" data-toggle="dropdown">Administrador<b class="caret"></b></a>
<ul class="dropdown-menu">
<?php
if (!isset($_SESSION['login'])) {
# code...
?>
<li><a href="menus/menus.php">Login</a></li>
<?php
} else {
?>
<li class=""><a href="../menus/menus.php">Administrar</a></li>
<li><a href="../cerrar.php">Cerrar Sesion</a></li>
<?php
}
?>
答案 0 :(得分:0)
听起来您忘了将session_start()
放在(每个)管理页面的顶部。