Programación Web y Scripting > PHP

 Problemas Con Session

(1/1)

dreamer:
Compañeros(as).

Les cuento que estoy haciendo un autetificador propio para eso tengo lo siguiente:

index.php  (Donde esta el formulario)
login.php   (Donde verifica que los campos no esten en blanco y ademas verifica que el usuario este en la base de datos y finalmente si el usuario esta lo direcciona a la pagina segura.php).

Pero de la pagina login.php deberia propagar la session mi codigo es el siguiente:


--- Código: Text --- include("conec.inc.php");  $usuario=$_POST['usuario'];  $conex = Conectarse();  $ssql = "SELECT * FROM socios1 WHERE nombre_usuario='".mysql_real_escape_string($usuario)."' and pass='$password'";      $rs = mysql_query($ssql,$conex)or die ("error");   //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)    {     $array_datos_usuario=mysql_fetch_array($rs);  $_SESSION['nombre_usuario']=$array_datos_usuario[nombre];    $_SESSION['usuario']=$usuario;     $_SESSION['rut']=$array_datos_usuario[rut];    $_SESSION['cargo']=$array_datos_usuario[cargo];    $_SESSION['anexo']=$array_datos_usuario[anexo];    $_SESSION['email']=$array_datos_usuario[email];      $_SESSION['autentificado']= "SI";       header("location: segura.php?".SID);       exit;    }    else     {         header ("location:index.php?".SID);       exit;    }    
de antemano se agradece cualquier sugerencia

neorent:
quetal hermano:
bueno te dejo este link a ver si te sirve
http://www.forosdelweb.com/showthread.php?postid=240675
y te dejo un code a ver si te funciona es super basico espero te ayude.

--- Código: Text ---   <? /* Autenticación */   $muerte = 'Acceso Denegado!!!!  :-p';    if(!isset($PHP_AUTH_USER)) {     header('WWW-Authenticate: Basic realm="Nombre del Site"');     header('HTTP/1.0 401 Unauthorized');     echo $muerte;     exit;   } else {     // valido mi clave en el servidor ...     if (@$db_link = mysql_connect("localhost" , "usuario", "clave")) {         @mysql_select_db("base_de_datos");     }      $sql = "select * from usuarios                  where ((usr_login = '$PHP_AUTH_USER')                       and (usr_pass = '$PHP_AUTH_PW')) ";      $qpass= mysql_query($sql,  $db_link);     if(mysql_num_rows($qpass)<>1)  {       echo $muerte;       exit;     }    } ?> Ahora al principio de cada una de tus páginas que necesite autenticar al usuario colocarás Código PHP: <? include("seguridad.php");?>    
slds adios :hola:

ArKaNtOs:
no olvides que al empezar a trabajar con sesiones debes de incluir al comienzo
session_start(); y eso aplica para todas las paginas que vayas a utilizar sesiones

dreamer:
Compañeros les dejo el codigo completo, segun lo que lei y las sugerencias que me han dado esta todo ok, pero aun no la propaga la session.


--- Código: Text --- <? //para no tener problemas con cookies deshabilitadas has esto  //con esto desactivamos las cookies y activamos el metodo get para la sesion  ini_set("session.use_cookies","1"); ini_set("session.use_only_cookies","1"); ini_set("session.use_trans_sid","0"); session_start();header("Cache-control:private");?>   <?  $usuario=$_POST['usuario'];$password=$_POST['password'];if (empty($_POST['usuario']) || empty($_POST['password']))    echo "Se deben llenar los dos campos...";else{  include("conec.inc.php");  $usuario=$_POST['usuario'];  //$usuario = trim(mysql_real_escape_string($_Post['usuario']));   $conex = Conectarse();  //$ssql = "SELECT * FROM usuario WHERE nombre_usuario='$usuario' and pass='$password'";     $ssql = "SELECT * FROM socios1 WHERE nombre_usuario='".mysql_real_escape_string($usuario)."' and pass='$password'";      $rs = mysql_query($ssql,$conex)or die ("error");   //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)    {       $array_datos_usuario=mysql_fetch_array($rs);    $_SESSION['nombre_usuario']=$array_datos_usuario[nombre];    //nombre del Socio      $_SESSION['usuario']=$usuario;                   //nombre de usuario    $_SESSION['rut']=$array_datos_usuario[rut];            //rut soscio    $_SESSION['cargo']=$array_datos_usuario[cargo];          //Cargo socio    $_SESSION['anexo']=$array_datos_usuario[anexo];        //Anexo del Socio    $_SESSION['email']=$array_datos_usuario[email];        //email del Socio    $_SESSION['autentificado']= "SI";       header("location: segura.php?".SID);       exit;    }    else     {         header ("location:index.php?".SID);       exit;    }   }  ?>    

ArKaNtOs:
hola amigo :) ya checaste que en el php.ini el register_globals sea = a on??? espero esto te sirva :)

Navegación

[0] Índice de Mensajes

Ir a la versión completa