Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2009, 19:54
fenix0224
 
Fecha de Ingreso: enero-2009
Mensajes: 126
Antigüedad: 15 años, 4 meses
Puntos: 1
Pregunta sessiones de ususarios

hola a todos he seguido los pasos de un aporte publicado en este foro: http://www.forosdelweb.com/f18/aport...aporte-561417/
y casi todo funciona bien en la administracion de sesiones de usuario salvo por el detalle de que no funciona el salir.php supuestamente debe redirecionara entra.html o a pero no al cargar la pagina no sale nada solo una pagina en blanco
el codigo que uso es

reg.php
Código PHP:
<?php
$dbhost
='localhost'
$dbusername='root'
$dbuserpass=''
$dbname='cmsi'
// Conexión a la base de datos 
mysql_connect ($dbhost$dbusername$dbuserpass); 
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."



}  

?>
reg.html
Código:
<form name="form1" method="post" action="reg.php">
  <TABLE>
    <TBODY>
      <TR>
        <TD align="right">Nombre de usuario:
          <INPUT maxLength="25" size="15" name="username">
        </TD>
      </TR>
      <TR>
        <TD align="right">Password:
          <INPUT type="password" maxLength="25" size="15" value="" name="password">
        </TD>
      </TR>
      <TR>
        <TD align="right">Repite Password:
          <INPUT type="password" maxLength="25" size="15" value="" name="cpassword">
        </TD>
      </TR>
      <TR>
        <TD align="right">Email:
          <INPUT maxLength="25" size="15" name="email">
        </TD>
      </TR>
      <TR>
        <TD align="middle"><INPUT name="submit" type="submit" value="Registro">
        </TD>
      </TR>
    </TBODY>
  </TABLE>
</form>
entra.html

Código:
<form name="form1" method="post" action="entrar.php">
  <table cellspacing="0" cellpadding="0">
    <TR>
      <TD align="right">Nombre de usuario:
        <INPUT maxLength="25" size="15" name="username">
      </TD>
    </TR>
    <TR>
      <TD align="right">Password:
        <INPUT type="password" maxLength="25" size="15" value="" name="password">
      </TD>
    </TR>
    <TR>
      <TD align="middle"><INPUT name="submit" type="submit" value="Login">
      </TD>
    </TR>
  </table>
</form>
entrar.php
Código PHP:
<?php
// Configura los datos de tu cuenta 
$dbhost='localhost'
$dbusername='root'
$dbuserpass=''
$dbname='cmsi'

session_start(); 

// 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 (
$password==NULL) { 
echo 
"La password no fue enviada"
}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_name("usuarios_ingreso");
$_SESSION["s_username"] = $row['username']; 
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php."


}  
?>
index2.php
Código PHP:
<?php
// Configura la información de tu cuenta 
$dbhost='localhost'
$dbusername='root'
$dbuserpass=''
$dbname='cmsi'
session_start(); 

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


if (isset(
$_SESSION['s_username'])) { 
echo 
"Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!"
}else{ 
echo 
"Tu no estas autentificado dirígete a login.php o registrate en register.php"
echo 
$_SESSION['s_username']; 
}  

//adicional 

session_start();

//antes de hacer los cálculos, compruebo que el usuario está logueado
//utilizamos el mismo script que antes
if (!isset($_SESSION['s_username'])) {
//si no está logueado lo envío a la página de autentificación
header("Location: entra.html");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada $_SESSION["ultimoAcceso"];
$ahora date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));

//comparamos el tiempo transcurrido
if($tiempo_transcurrido >= 120) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: entra.html"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$_SESSION["ultimoAcceso"] = $ahora;
}
}


?>
salir.php

Código PHP:
<?   
session_start
();   
if(!isset(
$_SESSION['s_username'])){   
header("location: entra.html");   
} else {   
session_unset();   
session_destroy();   
header("location: index2.php");   
}   
?>
porfa mi problema es con el salir.php al cargar la pagina no carga nada de nada no hay ninguna accion me podrian decir cual es el problema