Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/09/2007, 15:57
Avatar de ghosthead-nebula
ghosthead-nebula
 
Fecha de Ingreso: marzo-2007
Mensajes: 273
Antigüedad: 18 años
Puntos: 3
Re: iniciar seccion php

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&oacute;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&eacute;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>&Eacute;sta es una p&aacute;gina de Prueba (Prototipo) </strong></p>
          <p align="center" class="style4">&nbsp;</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&oacute;n </li>
          </ul>
          <p align="left" class="style4">Status de Inscripci&oacute;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)
__________________
Mis dibujos: Click Aquí