Foros del Web » Programando para Internet » PHP »

ayuda login botones del navegador

Estas en el tema de ayuda login botones del navegador en el foro de PHP en Foros del Web. hola tengo estos archivo registro.php,pantalla.php, y menu.php para validar un login verdad en el registro.php no hay problema lo posteo por si necesitan ver algo... ...
  #1 (permalink)  
Antiguo 19/06/2009, 13:10
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
ayuda login botones del navegador

hola tengo estos archivo registro.php,pantalla.php, y menu.php para validar un login verdad en el registro.php no hay problema lo posteo por si necesitan ver algo... registro.php
Código PHP:
<body> 
    <form method="post" action="">
        Registrar usuario....<br>
                cedula<br>
                <input name="ci" type="text" ><br>
    nombre<br>    
    <input name="username" type="text" ><br>
        
    pass<br>    
    <input name="clave" type="password" ><br>
    confirmar pass<br>    
        <input name="cclave" type="password" ><br>
            email<br>    
    <input name="email" type="text" ><br>
        
    
    <input type="submit" name="Submit" value="Aceptar"> &nbsp;&nbsp;&nbsp;
    <input type="reset" name="cancelar" value="cancelar" />
    
  
</form>
    
<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='root';
$dbuserpass='';
$dbname='sistema';
// 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"])) {
$ci $_POST["ci"];
$username $_POST["username"];
$clave $_POST["clave"];
$cclave $_POST["cclave"];
$email $_POST["email"];

// Hay campos en blanco
if($ci==NULL|$username==NULL|$clave==NULL|$cclave==NULL|$email==NULL) {
echo 
"un campo está vacio.";
}else{
// ¿Coinciden las contraseñas?
if($clave!=$cclave) {
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 usuario WHERE username='$username'");
$username_exist mysql_num_rows($checkuser);

$checkemail mysql_query("SELECT email FROM usuario 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 usuario (ci,username, clave, email) VALUES('$ci','$username','$clave','$email')";
mysql_query($query) or die(mysql_error());
echo 
"El usuario $username ha sido registrado de manera satisfactoria.";
}
}
}
}
?>
</body>
        </html>
el otro es pantalla.php le puse asi pero este es el que valida los campos del usuario login y password en este tampoco hay rollo no posteo los botones de nombre de usuario y password para no hacer mas largo el msj
Código PHP:
<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='root';
$dbuserpass='';
$dbname='sistema';
//con este codigo en la cabezera valida que los campo esten ingresado y eso
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'];
$clave=$_POST['clave'];
if (
$clave==NULL) {
echo 
"La clave no fue enviada";
}else{
$query mysql_query("SELECT username,clave FROM usuario WHERE username = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['clave'] != $clave) {
echo 
"usuario o clave incorrecto";
}else{ 
$query mysql_query("SELECT username,clave FROM usuario WHERE username = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
header("Location: menu.php"); 
exit;
}}}
?>
y ya este es el del menu.php con esto es la cabezera todas las etiquetas (php) estan en la cabezera mi pregunta es que tiene un error que si se loguea una persona verdad y empieza a usar el sistema... "XX", sino cierra el navegado sino que le da para alante y para atras con los botones puede salirse del sistema y dandole al boton para alante puede entrar otra vez al sistema sin loguearse sino que queda la cuenta anterior como abierta por asi decirlo... como podria quitar este problemilla con este codigo he leido que con variables de session_destroy pero sinceramente soy algo nuevo en php alguien me puede ayudar?¿ ademas como cosa adicional este es un sistema si alguien me puede decir como hacer para que cuando ingrese una persona al sistema hacer como un contador del tiempo que estuvo esa persona usando el sistema.... ej. se loguea y empiese el contador y cuando cierre secion envie a una base de datos el tiempo que estuvo logueado "X" persona... por cierto estoy usando como base de datos mysql quien me ayuda pero con lo primero por favor lo de los botones del navegador
Código PHP:
<?php
// Configura la información de tu cuenta
$dbhost='localhost';
$dbusername='root';
$dbuserpass='';
$dbname='sistema';
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 al sistema has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
}
else
{   echo
" <a href='pantalla.php'>regresar al comienzo</a><br>";
    echo 
"Tu no estas autentificado dirígete a pantalla.php o registrate en registro.php";
    echo 
"<html><head></head>".
"<body onload=\"history.back()\">".
"</body></html>";
exit;

}
?>
  #2 (permalink)  
Antiguo 19/06/2009, 13:31
Avatar de cesarpi80  
Fecha de Ingreso: mayo-2009
Mensajes: 159
Antigüedad: 14 años, 10 meses
Puntos: 10
Respuesta: ayuda login botones del navegador

En tu pantalla de inicio de login, si el le da regresar lo primero que hara sera destruir la antigua sesion.
Código PHP:
<?php     
  
   session_destroy
();
   
session_start();
   
?>

Algo asi seria lo que necesitas.
Código PHP:

$entra 
date('Y-m-d') ."\n";
/*Guardar en la base de datos como time.*/


/* Luego en el boton de salida o en el login llamar al programa de salida*/

$sale date('Y-m-d') ."\n";
/*Hacer la resta y guardarlo en tu base de datos.*/ 
  #3 (permalink)  
Antiguo 19/06/2009, 17:55
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

pero no me deja ponerlo asi como me dijistes me sale esto Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in C:ruta del archivo\pantalla.php on line 1

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:C:ruta del archivo\pantalla.php on line 1
on line 12
  #4 (permalink)  
Antiguo 19/06/2009, 18:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 33
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: ayuda login botones del navegador

Ponle un @ al session_destroy(); asi te comes el warning si no ha iniciado sesion ;)
quedaria:
@session_destroy();

Dime si te funciona...
  #5 (permalink)  
Antiguo 19/06/2009, 18:27
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

nada no me funciona si lo pongo asi si es verdad se come el warning pero sigue entrando a la pagina de menu.php con los botones del navegador
  #6 (permalink)  
Antiguo 19/06/2009, 18:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 33
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: ayuda login botones del navegador

Che, al menu va a poder seguir entrando, por que esta el cache del navegador, pero intenta actualizar la pagina y decime que pasa...
PD: Creo que habia un meta para evitar la cache, buscala, ponela y proba...
PDD: Aca la encontre: <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">, ponela y proba ;)
PDDD: acordate que va entre <head> y </head> ;)
  #7 (permalink)  
Antiguo 19/06/2009, 18:39
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

nada sigue igual pero mira esta linea la pongo en la pag. <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> donde valido al usuario osea en la mia seria pantalla.php o en las dos igual probe en una primero (pantalla.php) y despues en las dos(menu.php) y nada de ninguna de las dos maneras sirvio y le deje la linea d @session_destroy(); antes de session_star(); mira estoy usando como navegador mozilla no se si tendra algo que ver ahh tambien explicame lo mas detallado que puedas porque apenas estoy aprendiendo php si se algunas cosas pero me ayudo con foros
  #8 (permalink)  
Antiguo 19/06/2009, 19:05
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

Cita:
Iniciado por cesarpi80 Ver Mensaje

Algo asi seria lo que necesitas.
Código PHP:

$entra 
date('Y-m-d') ."\n";
/*Guardar en la base de datos como time.*/


/* Luego en el boton de salida o en el login llamar al programa de salida*/

$sale date('Y-m-d') ."\n";
/*Hacer la resta y guardarlo en tu base de datos.*/ 
necesito es un contador de hora mas bien no de dias pero primero lo primero help me!! con el login es importante porque me estan ingresando usuarios al sistema por los botones del explorador en este caso firefox
  #9 (permalink)  
Antiguo 19/06/2009, 19:36
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

alguien me puede ayudar=?
  #10 (permalink)  
Antiguo 20/06/2009, 07:42
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

quien me ayuda con este problema del login si hago click en los botones del navegador para atras y adelante entra al sistema automaticamente cuando deberia pedir otra vez el login y el password quien me ayuda
  #11 (permalink)  
Antiguo 20/06/2009, 07:58
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ayuda login botones del navegador

El problema es que las sesiones duran 20 minutos, predefinido. Yo me puedo ir de este foro que trabaja con sesiones por menos de 20 minutos (estoy estableciendo que ellos siguen la regla de los 20 minutos) y regreso al foro voy a estar logueado porque me fui por menos de 20 minutos y todavia las variables siguen en la memoria del servidor. Ahora si tu quieres tu puedes colocar que dure la sesion menos de 20 minutos y cuando la persona se vaya si no alcanza a estar en el tiempo establecido, cuando regrese con el codigo que has hecho de que la sesion dure menos de 20 minutos ejemplo 5 minutos, le borra la informacion y le va a pedir que se loguee.
  #12 (permalink)  
Antiguo 20/06/2009, 08:15
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

ummm ok pero el problema no es tanto de irse sino que hay usuario que dejan la secion por decir abiertas no le dan a salir y viene otro usuario un poco mas vivo y con los botones del navegador empiesan a darle para alante y entrar al sistema con los botones del navegador si me explico? que tendria que arreglar o cambiar en el codigo para que cuando le den con los botones del navegador no entren al sistema sino que les pida el login otra vez.. porque entrar dandole al boton adelante del navegador si me explico?
  #13 (permalink)  
Antiguo 20/06/2009, 08:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ayuda login botones del navegador

Pues con las sesiones, pero como te dije si el usuario se va y no ha pasado el tiempo establecido va a poder ver el contenido porque no ha caducado el tiempo de sesion.
  #14 (permalink)  
Antiguo 20/06/2009, 08:32
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

ok si te entiendo esa parte del tiempo de sesiones pero lo que quiero es como destruir la sesion si el usuario le da para atras y luego trata de darle hacia adelante? me entiendes? que pida login obligado si trata de pasar de pantalla.php a menu.php yo creo q es por donde tengo ubicado el session_destroy() me puedes ayudar mmm=?
  #15 (permalink)  
Antiguo 20/06/2009, 08:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ayuda login botones del navegador

Como tu vas de menu.php a pantalla.php normalmente, a traves de un link, un boton, form etc etc
  #16 (permalink)  
Antiguo 20/06/2009, 08:51
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

sip claro pero es que no me estas entendiendo a ver si me explico mejor tu te registras en registro.php hay no hay problema despues ingresar al sistema suministrando el usuario y el password en pantalla.php y hay entras al sistema verdad que seria la pantalla de menu.php pero hay usuarios que le dan para atras atras al navegador entonces logicamente como estamos en menu.php el se devuelve a la pantalla anterior que seria en este caso pantalla.php(donde se suministra el usuario y el password), entonces los usuarios dejan hay el sistema en donde ingresan el usuario y el password y hay otros que se sientan en la computadora y se saltan el login y password dandole para adelante al navegador ingresando asi como el usuario anterior y no me serviria lo de la variable tiempo porque aveces puede que ocurra en 2 horas otra en 1 hora en media hora eso depende el tiempo en que se siente otro usuario puede que sea ahi mismo si me entiendes? o esa parte me serviria al menos que coloque 1 min maximo a la sesion pero mi pregunta no perjudicaria al usuario que esta trabajando porque entonces la sesion le duraria un min. nomas mira soy nuevo en php acuerdate si me puedes explicar bien en detalles la cosa te lo agradeceria mucho thx
  #17 (permalink)  
Antiguo 20/06/2009, 09:06
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ayuda login botones del navegador

Ok ya te entendi. Pues sencillo en pantalla.php escribes esto

<?php
session_start();
session_destroy();
?>

cada vez que de para atras va a destruir todas las sesiones. Entonces en el menu.php tienes que verificar si existe la sesion. Si no existe la sesion lo rediriges al inicio

me dejas saber
  #18 (permalink)  
Antiguo 20/06/2009, 09:15
 
Fecha de Ingreso: junio-2009
Mensajes: 35
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda login botones del navegador

ok mas o menos te entiendo pero mira si pongo asi el codigo php destruiria siempre la sesion hay mismo al iniciarla me entiendes? asi serviria viendolo desde el punto de vista de menu.php devolviendose hacia pantalla.php pero si lo ves desde pantalla.php hacia menu.php sesion que inicie la destruye hay mismo?¿ no entiendo esa parte si me la puedes explicar mejor cita si quieres el codigo lo tengo publicado arriba aver donde dices que ponga eso?¿
  #19 (permalink)  
Antiguo 20/06/2009, 09:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ayuda login botones del navegador

Debes crear una pagina que sea solamente el codigo de php. Esa pagina no envia nada al navegador y ahi es que haces el sistema de login

Ejemplo

index.php
//Creas las sessiones como te dije
//Tiene el form y el form lo redirige a una pagina que se llama login.php

login.php
//empiezas con las sesiones luego verificas la informacion de la base de datos if se logueo exitosamente creas las sesiones y al final escribes un
header("Location: menu.php");
//Pero en esta pagina no vas a crear un echo ni nada por el estilo porque esta pagina DEBE ENVIAR ABSOLUTAMENTE NADA
//al navegador solo hace la investigacion en la base de datos y crea las sessiones
//Si no se loguea entonces haces un else y escribes un header que lo redirecione a la pagina de index.php
//Como esta pagina no envia nada al navegador no va a salir en el historial del navegador.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:04.