Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda con sesiones PHP y Mysql!!!!!!!

sauron.lex

Bovino maduro
Desde
21 Mar 2009
Mensajes
273
Bueno aqui mi problema, estoy haciendo una pagina y necesito un ejemplo de una clase como manejo sesiones en php que jale el pass y el usuario de una base de datos de mysql quiero que sea desde una clase en la cual o como lo harian ademas de que necesito pues que asi como las sesiones de aqui de este excelente foro ba-k que se puedan expirar dichas sesiones despues de un tiempo ademas de que una vez cerrada todas las ventanas de la pagina pues que se cierre dicha sesion, y necesito su ayuda y cual es la mejor forma de hacerlo si usando clases php o desde una pagina php.
 
lo que puedes hacer es mediante un formulario de inicio de sesión introducir los datos corresondientes. Al darle submit o enviar buscar coincidencias con los datos de la base de datos y los datos introducidos, todo esto dentro de una sentencia if. Si la sentencia es true podrás trabajar la sesión mediante cookies o mediante la variable $_SESSION.

Algo como:

if(

'select ... where nom_user = ".$user."' && 'select ... where pass = ".$pass."';

)

algo así, obviamente es un ejemplo algo abstracto así que tienes que acomodarlo de acuerdo a tu proyecto
 
Suponiendo que tienes un formulario donde el usuario introduce sus datos de acceso.

Código:
<?
// Recojemos los datos enviados por POST
$User = strtolower($_POST["User"]);
$Pass = $_POST["Pass"];

// Comprobamos que sean correctos, Yo tengo una funcion para conectarme a la base de datos.
include("Conexion.php");
$link=Conectarse();
$result=mysql_query("select * from usuarios where nick='".$User."' and pass='".$Pass."';");
// Si traer un registro, quiere decir que un registro concidio con el user y pass. Esta comprobacion dice "Si registro es DIFERENTE de 1"
if (mysql_num_rows($result) != 1)
     // El usuario no existe o el user y/o pass son incorrectos. Haces lo que quieras, yo lo mando a una pagina que le dice este error
    header("Location: www.mipagina.com/loginincorrecto.php");

// Si no lo manda a la página de error toncs si es un usuario correcto. y le das su session.
        // Iniciamos las sesion
        session_start();
        // Creamos una variable de session que se llame "autentificado"
        $_SESSION["autentificado"]="si";
        // Creamos una variable de session para saber a quien pertenece dicha session
        $_SESSION["user"]=$Nick;
        // Yo lo llevo a una página donde administre sus datos.
        header("Location: myaccount.php");
Luego en cada página que necesites comprobar si tiene session.
Código:
<?
// Iniciamos las session
session_start();
// Comprobamos primeramente si es una session autentificada por algun usuario.
if ($_SESSION["autentificado"] != "si") {
    // Como no es un usario que halla iniciado sesion, lo mando a una página de error.
    header("Location: error.php?data=sesion");
    exit();
    }

// Si pasa hasta aqui quiere decir que tiene session abierta. toncs ponemos el codigo que queramos, por ejemplo para darle la bienvenida seria:
print "Bienvenido: ".$_SESSION["user"];

// Puedes usar tantas variables de sesiones como quieras, pero solo funcionaran si pones "session_start();" para iniciar las variables de sessiones. yo solo necsito el nombre de usuario para hacer lo que quiera con el, pq solo uso un query...
include("Conexion.php");
$link=Conectarse();
$result = mysql_query("select * from usuarios where nick='".$_SESSION["user"]."';",$link);
?>
 
gracais amigo a mi me ayudo mucho,
me faltaba :

// Si no lo manda a la página de error toncs si es un usuario correcto. y le das su session.
// Iniciamos las sesion
session_start();
// Creamos una variable de session que se llame "autentificado"
$_SESSION["autentificado"]="si";
// Creamos una variable de session para saber a quien pertenece dicha session
$_SESSION["user"]=$Nick;
// Yo lo llevo a una página donde administre sus datos.

header("Location: myaccount.php");
 
Volver
Arriba