![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
07/11/2015, 23:12
|
| | Fecha de Ingreso: noviembre-2004 Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años, 2 meses Puntos: 6 | |
Respuesta: No se mantenie info de $_SESSION por que? Cita:
Iniciado por xfxstudios mira este codigo:
Código PHP:
Ver original<?php //conexion require_once('../xxxxxxxxxx/xxxxxxxxx.php'); if($_POST['usuario']==""){ $msg = ""; } else if($_POST['password']==""){ $msg = ""; }else{ //asignamos la variable usuario //buscamos los datos en la base basados en el usuario que se conecta $users = $db->query("SELECT usuario,pass,estados FROM usuarios WHERE usuario ='$usuario'"); $row_result = $users->fetch_array(); //encriptamos la clave que recibimos y la asignamos a una variable para su posterior comparación $password = (crypt($_POST['password'], $row_result['pass'])); //asignamos las variables basadas en lo recogido de la consulta $usuario = $row_result['usuario']; $clave = $row_result['pass']; $nivel = $row_result['nivel']; comparamos la clave con la almacenada y si el usuario esta activo if($clave == $password && $estados == "Activo"){ //si todo esta bien creo las variables de sesion que usare en toda mi aplicacion $_SESSION['MM_Username'] = $usuario; $_SESSION['logueado'] = true; $_SESSION['nivel'] = $nivel; //envio un email de confirmacion de conexion al usuario //se compone el mensaje require("recursos/class.phpmailer.php"); $mail = new PHPMailer(); $mail->FromName = "INFORME xxxxxxxxx"; $mail->Subject = "Nueva conexion de ".$nombre." a PSSLpro"; $mail->AddAddress($usuario, $nombre); $mail->IsHTML(true); $mail->AddEmbeddedImage('img/logo_xxxxx_xxxxx_peq.png', 'logo'); $body = "<img src='cid:logo' alt='mail image' width='180px' height='40px' border='0'/><br><hr>"; $body .= "Nueva Conexión al sistema xxxxxxx con exito <b>".$nombre."</b>\n\n"; $body .= "<hr>"; $body .= "Fecha de la conexión: ".date("d-m-Y")."\n\n"; $body .= " hora de la conexion ".date("H:m:s")."\n\n"; $body .= "Desde la ip: ".$_SERVER['REMOTE_ADDR']."\n\n"; $body .= "<hr>"; $mail->Body = $body; $mail->Send(); //inserto en la tabla de contro que el usuario esta activo en el sistema $activos = $db->query("INSERT INTO usuarios_activos (usuario, fecha, hora, ip, rif, unidad_explot) VALUES ('$usuario' , '$fecha' , '$hora' , '$_POST[ip]' , '$rif' , '$unidad')"); //lo redirecciono al escritorio header('location: escritorio.php'); //si esta suspendido lo envio a otra locacion } else if($estados == "Suspendido"){ header('location: suspendido.php'); //en caso contrario le indico que los datos son invalidos }else{ $msg = "Datos inválidos"; } } ?>
y en cada pagina solo tengo esto:
Código PHP:
Ver original<?php if (isset($_SESSION['MM_Username']) && $_SESSION['logueado'] == true && $_SESSION['estados']== "Activo") { } else { header('Location:/app/error_acceso.php'); //en caso de que se salte el header por alguna extraña razon, muestro los mensajes echo "<br/>" . "Esta pagina es solo para usuarios registrados." . "<br/>"; echo "<br/>" . "<a href='index.php'>Ingresa aqui!!!</a>"; } ?>
este codigo es mucho mas extenso y con muchas mas variables de sesion pero solo te coloque lo basico que funciona bastante bien, ya solo queda jugar con el resto amigo
hola xfxstudios me hiciste copiar todo el codigo pensando encontrarias el problema .... y me das un codigo que posiblente funcione,... pero haciendo las pruebas... con que fin hace un insert si ya tengo un campo para los registros, --- y lo otro por que enviar la conexion al email?? la verdad no comprendo el codigo pero lo voy a probar solo cambiare a mi sql a ver si tengo suerte |