Hola:
No tengo mucha experiencia programando en PHP y ahora tengo enormes problemas con las sesiones en php.
Al parecer las sesiones no se guardan y por esta razón no puedo acceder a la página donde verifiqué que el usuario estuviera autenticado para entrar.
Aquí les envío el código:
//Este es el formulario que envía los datos a la página control.php
<form id='form1' name='form1' method='post' action='control.php' class='form-autenticar'>
<p>
<label>Usuario
<input type='text' name='user' id='user' />
</label>
</p>
<p>
<label>Contraseña
<input type='password' name='pass' id='pass' />
</label>
</p>
<input name='opcion' name='id' type='submit' value='Autenticar'>
</form>
//Esta es la página control que guarda los datos del usuario autenticado y crea la //sesión
<?php
session_start();
include_once("conexion.php");
$opcion=$_POST['opcion'];
$conex=new Conexion();
switch ($opcion)
{
case "Autenticar":
{
//obtengo los datos enviados desde el formulario
$usuario=$_POST['user'];
$pass=$_POST['pass'];
//guardo en variables de sessiones los datos que necesito
$_SESSION['usuario']=$usuario;
$_SESSION['pass']=$pass;
if(($usuario=='')|| ($pass==''))
{
echo"<script language='javascript'>alert('Entre usuario y contraseña');</script>";
echo"<script language='javascript'>window.location='index.php'</script>";
return -1;
}
else
{
try
{
if((($conex->Usuario_Existe($usuario))==true) && (($conex->Contrasenna_Correcta($usuario, $pass ))==true))
{
if(($conex->Devolver_Rol($usuario, $pass))=='instructor')
{echo"<script language='javascript'>window.location='CI_usuario_ instructor.php'</script>"; }
else if (($conex->Devolver_Rol($usuario, $pass))=='residente')
{echo"<script language='javascript'>window.location='CI_usuario_ residente.php'</script>"; }
}
else
{
echo"<script language='javascript'>alert('El usuario no existe o la contraseña es incorrecta');</script>";
echo"<script language='javascript'>window.location='index.php'</script>";
}
}
catch(Exception $e )
{
echo $e->getMessage();
}
}
break;
}
//Aquí es donde valido que el usuario esté autenticado para poder entrar
<?php
session_start();
if(isset($_SESSION['usuario']))
{
echo"<script language='javascript'>alert('No está autenticado');</script>";
echo"<script language='javascript'>window.location='index.php'</script>";
}
else
{
include_once("class_pagina.php");
$pagina=new Pagina();
$pagina->Mostrar_Cabezera();
$pagina->Mostrar_Contenido();
$pagina->Mostrar_Form_Insertar_Producto();
$pagina->FinContenido();
$pagina->Cerrar();
}
?>
Please...espero que me respondan pronto....
saludos
Elizabeth