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
Ir a la versión completa