Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/04/2005, 19:48
nostromo_
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 4 meses
Puntos: 0
Holas

Cuando te conectas, el sistema te reconoce para la siguiente etapa, pero nada más.

Siquieres una autentificación y mantener al usuario validado, debes utilizar cookies y las inicio de sesiones, para entrar en el resto de las páginas.

Cuando el usuario se aburra se sale cerrando la sesión, si quiere volver debe entrar el usuario y password.

index.php

Código PHP:
<html>
<head>
<title>formulario de autentificación</title>
<style>
.err_1 {font-weight:bold;color:ffffff;} .err_2 {font-weight:bold;color:red;}
</style>
</head>
<body>
<center>
    <form name=users action=control.php method=POST>
        <table border=0 cellspacing=0 cellpadding=0>
            <tr>
                <!-- falta registro -->
                <td colspan=2 bgcolor=red>
                    <span class=err_1>Datos Incorrectos</span>
                </td>
            </tr>
            <tr>
                <td>
                    <? 
                        
if($_GET['errorus'] == "err_us")
                        {
?>
                            <span class=err_2>User :</span>
                        <?}
                        else
                        {
?>
                            User :
                        <?}?>
                </td>
                <td>
                    <input type=text name=usuario size=8 maxlength=20>
                </td>
            </tr>
            <tr>
                <td>
                    <?
                        
if($_GET['errorpw'] == "err_pw")
                        {
?>
                            <span class=err_2>Password :</span>
                        <?}
                        else
                        {
?>
                            Password :
                        <?}?>
                </td>
                <td><input type=password name=claves size=8 maxlength=20></td>
            </tr>
            <tr><td height=25></td></tr>
            <tr>
                <td>
                    <input type=submit value=Entrar>
                </td>
            </tr>
        </table>
    </form>
</center>
</body>
</html>
control.php

Código PHP:
<?
    
#variables de usuario y password
    
$user trim($_POST['usuario']);
    
$clave trim($_POST['claves']);
    
#variables de base de datos
    
$base "usuario";
    
$tabla "acceso";
    
#establecer conección
    
$conexion mysql_connect("localhost","","") or die (mysql_error());
    
mysql_select_db($base,$conexion);
    
# Consultas SQL
    
$ssql "SELECT claves FROM $tabla WHERE usuario='$user'";
    
#Comprobar variables completas
    
if($user != "" && $clave)
    {
        
$resultado mysql_query($ssql,$conexion);
        if(
$rs mysql_fetch_array($resultado))
        {
            
# verificar accesos
            
if ($clave == $rs[claves])
            {
                
// iniciar sesiones
                
session_start();
                
$_SESSION['permiso'] = "si";
                
// colocar cookie
                    
setcookie("usuario",$user,time()+7776000);
                    
setcookie("paso",$clave,time()+7776000);
                
?> 
                    Ingreso exitoso, ahora sera dirigido a la pagina principal.
                    <br>
                    Espere un momento ... 
                    <SCRIPT LANGUAGE="javascript"> 
                    location.href = "aplicacion.php"; 
                    </SCRIPT> 
                <? 
            
}
            else
            {
                
header("Location: index_1.php?errorpw=err_pw&errorus=no");
            }
        }
        else
        {
            
header("Location: index_1.php?errorus=err_us&errorpw=no");
        }
            
mysql_free_result($resultado);
    }
    else
    {
        
header("Location: index_1.php?errorus=err_us&errorpw=err_pw");
    }
    
mysql_close($conexion);
?>
Ahora colocamos el código de la seguridad, para comprobar el inicio de sesiones de forma correcta:

seguridad.php

Código PHP:
<?
    
//Inicio sesión
    
session_start();
    
//comprobar autentificación
    
if ($_SESSION['permiso'] != "si")
    {
        
// ir a ingreso usuario
        
header("Location: index.php");
        
// salir
        
exit();
    }
?>
Luego las páginas que continuan:

aplicacion.php

Código PHP:
<?
include ("seguridad.php");
$base "usuario";
$tabla "acceso";
$cook_user $HTTP_COOKIE_VARS['usuario'];
?>
<html>
<head>
<title>Aplicación segura</title>

</head>
<body>
<h3>Página segura</h3>
<br>
<?
    
echo "Usuario actual : $cook_user";
?>
<br>
<a href=aplicacion_2.php>Continuar</a>
<?include("lista.txt");?>
</body>
</html>
aplicacion_2.php

Código PHP:
<?
include ("seguridad.php");
$user $HTTP_COOKIE_VARS['usuario'];
?>
<html>
<head>
<title>Aplicación segura</title>

</head>
<body>
<? echo "Usuario actual : $user"?>
<h3>Página segura</h3>
<br>
Continuación y termino de la sesión
<br><br>
<a href=listado.php>Enlistar Usuarios</a>
<br><br>
<a href=salir.php>Salir</a>
</body>
</html>
listado.php
Código PHP:
<?
include ("seguridad.php");
#datos usuario de la cookie
$user $HTTP_COOKIE_VARS['usuario'];
#cargar variables
$base "usuario";
$tabla "acceso";
#conección a base
$conexion mysql_connect("localhost","root","");
# asignar base de datos
mysql_select_db($base,$conexion);
#selección de datos
$ssql "SELECT * FROM $tabla";
$resultados mysql_query($ssql,$conexion);
# ver usuario actual
echo "Usuario actual : $user";
#cabezera
?>
<br>
<table border=0 cellspacing=0 cellpadding=0>
    <tr>
        <td>Usuario</td><td>Password</td>
    </tr>
<?
while ($row mysql_fetch_array($resultados))
{
    echo 
"<tr><td>".$row['usuario']."</td>";
    echo 
"<td>".$row['claves']."</td></tr>";
}
mysql_free_result($resultados);
mysql_close($conexion);
?>
</table>
<br><br>
<a href=salir.php>Salir del Sistema</a>
Por último, el código destinado al termino de la sesión:

salir.php

Código PHP:
<?
// terminar la sesión actual
session_start();
session_destroy();
// destruir cookies
    
setcookie('usuario','x',time()-3600);
    
setcookie('paso','x',time()-3600);
?>
<html>
<head>
<title>Salida del Sistema</title>

</head>
<body>
<h3>Esta fuera del sistema</h3>
</body>
Nos vemos.