Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/01/2007, 10:53
Avatar de eits
eits
 
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problema con Sesiones en PHP

aqui hice algunas modificaiones y te las explico un poco, a demás de que comente algunas partes para que veas la direfencia y quite otras que no van a servir, checalo y comentas.
ah!, se me olvidaba, como te dije antes el session_register ya no se utiliza es obsoleto por eso lo quite, en vez de ese esta la variable de session "$_SESSION[]"
Código PHP:
----------------- ENTRADA.PHP -------------------------
<?
session_start
();//primero inicias la session
//Conexion con la base
include "conexion.php";
//recuperas los datos del formulario pasados por post
$user$_POST['TxtUser'];
$pass$_POST['TxtPass'];
//se verificar si no estan vacias las variables
if (!empty($user) and !empty($pass))
{
    
//Creamos la sentencia SQL y la ejecutamos
    
$result=mysql_query("Select user, pass from users where user='$user' and pass='$pass'"$conexion);
    
#### esto de aqui abajo esta de mas ya que el mysql
    #### te devolvera los que coincidan con $user y con $pass
    /*$row=mysql_fetch_array($result);
        if ($row[0]==$user and $row[1]==$pass)
            {
                $_SESSION["autentificado"]= "SI";
                header ("Location: ver1.php");
            }
        else
            {
                echo "User or Password incorrect !";
            }*/
    ### lo mejor seria
    
$total=mysql_num_rows($result);//esto te devolvera el numero de registros encontrados
    //si total es mayor de 0 entonces hubo coincidencias y el usuario existe
    
if($total>0)
        {
            
//como hubo coincidencia registro al usuario
            
$_SESSION["autentificado"]= "SI";
            
//y lo redirecciono
            
header ("Location: ver1.php");
        }
    
// de lo contrario
    
else
        {
            
//le muestro el error
            
echo "User or Password incorrect !";
        }
}
//si estan vacias las variables
else
{
    if (empty(
$user))
        echo 
"<b>No se especifico nombre de usuario</b><br>";
    if (empty(
$pass))
        echo 
"<b>No se tecleo password </b><br>";
    echo 
"User or Password blank !";
    
## limpio el arreglo de la session por si tiene algo(aqui es opcional)
    ## en donde si es de ley q este en cuando termine la session en el logout
    
$_SESSION = array();
    
## se destruye la session iniciada al principio
    
session_destroy();
}
?>
-------- SEGURIDAD.PHP ----ESTE SCRIP LO INCLUDE DENTRO DE CADA PAGINA QUE QUIERO PROTEGER ------<?include ("seguridad.php");?> ------
<?
//Inicio la sesión
session_start();

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
##### OJO, no debe existir ningun tipo de salida en pantalla antes de un 
##### header, ya que la salida evita que se ejecute el header
##### a demás de que estas redireccionando y nunca se veria el mensaje.
//echo " La página ha caducado ";<--- a esto me refiero
header("Location: index.php");
//ademas salgo de este script
exit();
}
?>
saludos.

con respecto a tu otra pregunta estaba en el tec. de valladolid pero ya termine, casualmente el viernes de la semana pasada presente mi examen te titulación y tu ¿a q t dedicas?
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Última edición por eits; 26/01/2007 a las 11:00