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.";
}
}
}
}
?>
Código:
entra.html<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>
Código:
entrar.php<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>
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.";
}
}
}
?>
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;
}
}
?>
Código PHP:
<?
session_start();
if(!isset($_SESSION['s_username'])){
header("location: entra.html");
} else {
session_unset();
session_destroy();
header("location: index2.php");
}
?>