Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Buenas tardes, tengo un problema con sesiones. Tengo un menu donde ingreso alumnos, e ingreso profesores, algunos usuarios pueden ingresar otros no, este es el ...
  #1 (permalink)  
Antiguo 07/07/2004, 12:31
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema con sesiones

Buenas tardes, tengo un problema con sesiones.

Tengo un menu donde ingreso alumnos, e ingreso profesores, algunos usuarios pueden ingresar otros no, este es el código que tengo para ingreso de alumnos, el de profesores es el mismo :

<?php require("validate.php"); ?>

<?
session_start();
$variable = $_SESSION['login'];
//echo("Variable : " . $variable);
require("conexion.php");
$sql = "SELECT IdUsuario, Login, Adicionar, Eliminar, Editar, Informes, Usuarios FROM usuarios WHERE Login = '$variable'";
$IdConsulta = mysql_query($sql, $IdConexion);
$row = mysql_fetch_array($IdConsulta);
if($row["Adicionar"] == "SI") {
?>

ACA EJECUTO MI CÓDIGO PARA INGRESAR ALUMNOS

<?
} else {
echo("<html><head><title>SIN ACCESO</title><LINK href='dbquery.css' rel='stylesheet' type='text/css'></head>");
echo("<body bgcolor='#000000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>");
echo("<br><br><p class='BlancaNegritaTitulo' align='center'>No tiene permisos para acceder a esta página</p>");
echo("<p clas='BlancaNormalParrafo' align='center'><a href='index.php' target='_parent'>Volver</a></p>");
echo("</body>");
}
?>

El validate funciona, bien, o si no me enviaria cuando entrara a la página alumnos.php o profesores.php a login.htm

El problema es que ingreso con usuario y pass con permisos de ingresos o adicionar, doy click a adicionar alumnos y perfecto, sale el formulario para el ingreso, pero cuando doy click a ingresar profesores, me sale el letrerito de "No tiene permisos para acceder a esta página" y cuando vuelvo y doy click a adicionar alumnos, el mismo letrero, es como si al cambiar de página se perdiera la variable, mas no la sesión, quien sabe que puede estar pasando ?????

Gracias de antemano.
  #2 (permalink)  
Antiguo 07/07/2004, 13:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Unas preguntas:

* ¿Como propagas el SID? (en tu programación se vé que asumes que PHP lo hará por tí .. pero hay que verificar lo que usa PHP en un phpinfo() a tu servidor). Directivas: session.use_cookies y session.use_trans_sid ..)

* ¿Inicias la sesión con session_start() en cada proceso que accedes a tus variables de sesión por sus arrays superglobales: $_SESSION ?

Un saludo,
  #3 (permalink)  
Antiguo 07/07/2004, 14:03
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 14 años, 9 meses
Puntos: 0
session.use_cookies : ON
session.use_trans_sid : ON

¿Inicias la sesión con session_start() en cada proceso que accedes a tus variables de sesión por sus arrays superglobales: $_SESSION ?
SI uso el session_star()

este es el código de mi login.htm

if(mysql_num_rows($IdConsulta) != 0 AND mysql_num_rows($IdConsulta) == 1)
{
$_SESSION['acceso']=$row["nivel_acceso"];
$_SESSION["login"]=$row["usuario"];
mysql_close($IdConexion);
header("location:index.php");
exit();
}
else
{
mysql_close($IdConexion);
header("location:login.htm");
exit();
}

En cada hoja coloco un validate.php si me logeo bien, y la sesión queda registrada puedo entrar de resto no, lo que de verdad no entiendo es porque si me deja entrar, toma las restricciones y simplemente cuando cambio de link se pierde la variable, intento atrapar con un echo la variable así :
echo($_SESSION['login']); y funciona bien cuando entro, pero como dije antes ambio de link, vuelvo a este mismo link y se pierde esta variable.

Y no se que sera?

Gracia sde antemano.
  #4 (permalink)  
Antiguo 07/07/2004, 14:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tu navegador acepta cookies?

Te lo menciono por qué si bien la configuración de PHP . .lo tienes ajustado para que PHP propague el SID en cookies:
session.use_cookies = ON

y .. también tienes a PHP que "reescriba" ciertos TAG's HTML de redireccionamiento como links, formularios .. etc. (session.use_trans_sid = ON)

Lo que no hace PHP con esta configuración (session.use_trans_sid = ON) es insertar/incrustrar el SID en los redireccionamientos tipo header("Location ..."); .. así que por ese punto se vé forzado todo tu aplicación a que el cliente (navegador) acepte cookies.

Un saludo,
  #5 (permalink)  
Antiguo 07/07/2004, 14:40
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 14 años, 9 meses
Puntos: 0
Una pregunta mas

Lo mas posible es que si tenga restringidas las cookies, pero como podria usar sesiones sin necesidad de tenerlas habilitadas ??

Si me regalas una dirección con un tutorial sobre esto, te lo agradezco mucho.
  #6 (permalink)  
Antiguo 07/07/2004, 14:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa el buscador del foro sobre "SID" .. encontraras muchos mejajes que hablan del tema y de como propagarlo de forma manual.

El link de "regalo" xDD:
www.php.net/session

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:19.