Foros del Web » Programando para Internet » PHP »

Sistema autentificacion en local no funciona

Estas en el tema de Sistema autentificacion en local no funciona en el foro de PHP en Foros del Web. Hola a todos Tengo un sistema de autentificacion: Código: session_start(); $usuario= $_POST['user']; $contrasena= $_POST['pass']; session_register("usuario"); session_register("contrasena"); require('php/configuracion.php'); //Sentencia SQL para buscar un usuario con esos ...
  #1 (permalink)  
Antiguo 05/09/2006, 09:29
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Sistema autentificacion en local no funciona

Hola a todos

Tengo un sistema de autentificacion:

Código:
session_start();
$usuario= $_POST['user'];
$contrasena= $_POST['pass'];


session_register("usuario");
session_register("contrasena");

require('php/configuracion.php');

//Sentencia SQL para buscar un usuario con esos datos 
$ssql = "SELECT * FROM admin WHERE User='$usuario' AND Pass='$contrasena'"; 


//Ejecuto la sentencia 
$rs = mysql_query($ssql) or die (mysql_query()); 

//vemos si el usuario y contraseña es váildo 
//si la ejecución de la sentencia SQL nos da algún resultado 
//es que si que existe esa conbinación usuario/contraseña 
if (mysql_num_rows($rs)!=0){ 
    //usuario y contraseña válidos 
    //defino una sesion y guardo datos 
 
    session_register("autentificado"); 
    $autentificado = "SI"; 
    header ("Location: index2.php"); 
}else { 
    //si no existe le mando otra vez a la portada 
    header("Location: index.php?errorusuario=si"); 
} 
mysql_free_result($rs); 
mysql_close($con);
y en index2.php hago un include:

Código:
<? 
//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 
    header("Location: index.php"); 
    //ademas salgo de este script 
    exit(); 
} 
?>
Y no consigo que me direccione a index2.php, siempre me lleva a index.php
en el servidor funciona perfectamente pero en local no me va....

Seguro que es cosa de configuración ,pero no consigo dar con el problema

Podeis ayudarme¿??

Gracias anticipadas
  #2 (permalink)  
Antiguo 05/09/2006, 09:34
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
proba con cambiar el primero codigo por este

session_start();
$_SESSION['usuario']= $_POST['user'];
$_SESSION['contrasena']= $_POST['pass'];

require('php/configuracion.php');

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM admin WHERE User='".$_SESSION['usuario']."' AND Pass='".$_SESSION['contrasena']."'";


//Ejecuto la sentencia
$rs = mysql_query($ssql) or die (mysql_query());

//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos

$_SESSION['autentificado'] = "SI";
header ("Location: index2.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($con);
  #3 (permalink)  
Antiguo 05/09/2006, 12:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El uso de sesiones que hace es realmente obsoleto .. con respecto al uso de session_register() y luego usar el array superglobal $_SESSION. NO debes mezlcar ambos métodos y usar $_SESSION sólo.

Revisa en las FAQ's del foro de PHP el uso de sesiones y/o en la documentación oficial de PHP:
www.php.net/session

Este tipo de cosas:

session_register("autentificado");
$autentificado = "SI";

Realmente no les encuentro sentido. Si tu estas autentificando usuarios .. que mejor que dejar en esa variable de sesión el "ID" de tu usuario o nombre para usarlo en relaciones y validaciones de todo tipo en el resto de tu aplicación.

A lo sumo usar esa "autentificado" variable de sesión como un "boolean" .. es decir:

$_SESSION['autentificado']=true;

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 06/09/2006, 01:27
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
gracias a ambos.

Gran respuesta.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:30.