Oye bonez... yo también ando con el mismo problema de tazz y no entiendo nada de lo que dijiste x_x
Tengo un formulario inicial donde inicio sesión:
Código PHP:
<?
session_start();
?>
<html>
<head>
<title>SAIDCOMS - Home</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
// Verificación de las sesiones
if($_SESSION['ced'])
echo "Cerrar Sesión";
else
{
?>
<form name="form1" method="post" action="ident.php">
Iniciar Sesión
<input name="ced" type="text" size="10" maxlength="8">
<input type="submit" name="Submit" value="OK">
</form>
<?php } ?>
<p><a href="../HTM/academia.htm">Academia</a></p>
<p><a href="../HTM/interes.htm">De Interés</a></p>
<p><a href="../HTM/coments.htm">Comentarios</a></p>
<p><a href="../HTM/ayuda.htm">Ayuda</a></p>
</body>
</html>
(no le prestes atención a los links, pues el sistema no está listo)
Cuando meto un número de cédula (la variable de sesión) voy a otro archivo para verificar la existencia del usuario y su nivel de acceso:
Código PHP:
<?
session_start();
?>
<html>
<head>
<title>Iniciar sesión</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
// Conexión a la base de datos
$con = mysql_connect("localhost","root","12345");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
else
{
// Selección de la base de datos
mysql_select_db("database", $con);
$result = mysql_query("SELECT * FROM usuarios");
$result1 = mysql_query("SELECT * FROM fecha_inscripcion");
while($row = mysql_fetch_array($result1))
$fecha = $row['fecha_i'];
// Validar Fecha
// Fecha actual
$hoy = strtotime(date("Y-m-d"));
// Fecha en la base de datos
$inicio = strtotime($fecha);
$inicio = strtotime(date("Y-m-d",$inicio));
if($hoy >= $inicio)
$valido = 1;
else
$valido = 0;
// Gestión de Usuarios
while($row = mysql_fetch_array($result))
if($row['cedula'] == $_POST["ced"])
$tipo = $row['nivel'];
$_SESSION["ced"] = $_POST["ced"];
// Selección de Interfaz
if($tipo == 3)
// Si el usuario es operador (acceso en todo momento)
echo "<div align=center>Ha iniciado sesión correctamente<BR>
Presione <a href='../CGI/main_oper.php?ced=$_SESSION[ced]'>AQUI</a> para continuar</div>\n";
else
if ($valido)
if($tipo == 2) // Acceso a partir de la fecha de inscripción
// Si el usuario es el Departamento
echo "<div align=center>Ha iniciado sesión correctamente<BR>
Presione <a href='../CGI/main_dpto.php'?ced=$_SESSION[ced]>AQUI</a> para continuar</div>";
else
if($tipo == 1)
// Si el usuario es estudiante
echo "<div align=center>Ha iniciado sesión correctamente<BR>
Presione <a href='main_est.php?ced=".$_SESSION[ced]."'>AQUI</a> para continuar</div>";
else
// Usuario no registrado
echo "<div align=center>El número de cédula " . $_SESSION["ced"] . " no se encuentra registrado en el sistema<BR>
<a href='../HTM/main.htm'>VOLVER</a></div>";
else
// Fecha incorrecta
echo "<div align=center>Disculpe. El sistema está bloqueado.<BR><a href='../HTM/main.htm'>VOLVER</a></div>";
}
//Cierre de la base de datos
mysql_close($con);
?>
</body>
</html>
(Ok, muchos me criticarán por las funciones en mysql. Traté de hacerlas más reducidas pero no me funcionaron, así que ls dejo así)
Concentrémonos en el estudiante.
meto una cédula, se reconoce al usuario como estudiante (comprobándose que se loggea a partir de cierta fecha) y me dirige a una página principal para ese usuario. La página de prueba es esta:
Código PHP:
<?
session_start();
?>
<html>
<head>
<title>Inscripciones por Departamento</title>
</head>
<body>
<p align="center" class="style2 style3"><strong>BIENVENID@</strong></p>
<p align="center" class="style4"><strong>Estudiante titular de la cédula [ <?php echo $_SESSION["ced"]; ?> ]</strong></p>
<p align="center" class="style4"><strong>Ésta es una página de Prueba (Prototipo) </strong></p>
<p align="center" class="style4"> </p>
<p align="left" class="style4"><a href="../HTM/main.htm">Home</a></p>
<p align="left" class="style4">Solicitudes:</p>
<ul>
<li><a href="agregar.php">Agregar</a></li>
<li>Eliminar</li>
<li>Solicitar Apelación </li>
</ul>
<p align="left" class="style4">Status de Inscripción</p>
<p align="left" class="style4"><a href="../HTM/ayuda.htm">Ayuda</a></p>
<p align="left" class="style4"><a href="../HTM/endsesion.htm">Logout</a> </p>
</body>
</html>
Los "echo" los hice para verificar si la variable se está transfiriendo, pero no lo hace, pues no se imprime. Acaso tiene que ver con los cookies?
(disculpen por lo largo del post, esos fueron 3 ficheros completos x_x)