Ver Mensaje Individual
  #18 (permalink)  
Antiguo 24/02/2008, 11:09
EphramDoyle
 
Fecha de Ingreso: enero-2008
Mensajes: 43
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Mantener sesion abierta en webs con php

Utilizo un registro.html y un login.html. Y de php...

REGISTER.php
Código PHP:
    <?
    
// Configura los datos de tu cuenta
    
$dbhost='xxxxxxxxx';
    
$dbusername='xxxxxxxxx';
    
$dbuserpass='xxxxxxxxx';
    
$dbname='xxxxxxxxx';
    
// Conexión a la base de datos
    
mysql_connect ($dbhost$dbusername$dbuserpass);
    
// Seleccion de la base de datos
    
mysql_select_db($dbname) or die('Cannot select database');

    
// Preguntaremos si se han enviado ya las variables necesarias
    
if (isset($_POST["username"])) {
    
$username $_POST["username"];
    
$password $_POST["password"];
    
$cpassword $_POST["cpassword"];
    
$email $_POST["email"];
    
// Hay campos en blanco
    
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
    echo 
"un campo está vacio.";
    }else{
    
// ¿Coinciden las contraseñas?
    
if($password!=$cpassword) {
    echo 
"Las contraseñas no coinciden";
    }else{
    
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
    
$checkuser mysql_query("SELECT username FROM users WHERE username='$username'");
    
$username_exist mysql_num_rows($checkuser);

    
$checkemail mysql_query("SELECT email FROM users WHERE email='$email'");
    
$email_exist mysql_num_rows($checkemail);

    if (
$email_exist>0|$username_exist>0) {
    echo 
"EL nombre de usuario o la cuenta de correo estan ya en uso";
    }else{
    
//Todo parece correcto procedemos con la inserccion
    
$query "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')";
    
mysql_query($query) or die(mysql_error());
    echo 
"El usuario $username ha sido registrado de manera satisfactoria.";
    }
    }
    }
    }
    
?>

LOGIN.php

Código PHP:
    <?
    $dbhost
='xxxxxxxxxx';
    
$dbusername='xxxxxxxxxx';
    
$dbuserpass='xxxxxxxxxx';
    
$dbname='xxxxxxxxxx';

// Conectar a la base de datos 
    
mysql_connect ($dbhost$dbusername$dbuserpass); 
    
mysql_select_db($dbname) or die('Cannot select database'); 

    if (
$_POST['username']) { 
    
//Comprobacion del envio del nombre de usuario y password 
    
$username=$_POST['username']; 
    
$password=$_POST['password']; 
    if(empty(
$password)) { 
    echo 
"La password esta vacia"
    }else{ 
    
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error()); 
    
$data mysql_fetch_array($query); 
    if(
$data['password'] != $password) { 
    echo 
"Login incorrecto"
    }else{ 
    
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error()); 
    
$row mysql_fetch_array($query); 
    @
session_start(); // <------- 
    
$_SESSION["s_username"] = $row['username']; 
    echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al <a href='http://www.gilgo-designs.es/index.php'>ADMINISTRACIÓN</a>"
    } 
    } 
    }  
    
?>

LOGOUT.php
Código PHP:
<? session_start();
$_SESSION = array();
header("Location: index.php");
?>


INDEX.php (Que podria ser cualquier otra pagina ya html o php, donde solo pueda verse por usuario registrado)

Código PHP:
<?php
session_start
();
if (
$_SESSION['username']=="")
?> 
"Bienvenido al menú para administradores.
Aquí puedes puedes agregar contenidos"
Tambien probé con este:
Código PHP:
<?
session_start
();

if(isset(
$_SESSION['usuario']) and $_SESSION['estado'] == 'Autenticado')
{
       
// Lo dejas entrar a la pagina
}
else
{  
       
// Usuario que no se ha logueado
       
echo "No tienes permiso para entrar a esta pagina";
       exit();
}  
?>
"Bienvenido al menú para administradores.
Aquí puedes puedes agregar contenidos"