Foros del Web » Programando para Internet » PHP »

logeo de usuarios

Estas en el tema de logeo de usuarios en el foro de PHP en Foros del Web. hola mi duda es: como hago con php para que me verifique que el usuario que esta en la pagina esta logeado osea que verifique ...
  #1 (permalink)  
Antiguo 27/08/2010, 11:51
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 14 años, 4 meses
Puntos: 4
logeo de usuarios

hola mi duda es: como hago con php para que me verifique que el usuario que esta en la pagina esta logeado osea que verifique eso cada X segundos y si no lo esta entonces que le muestre una alerta de que tiene que iniciar sesion.....osea la cosa es por que pongamos que el usuario esta en mi web pero primero abrio el explorador y entro a mi web desde esa ventana entonces con esa abierta........abrio otra ventana mas del explorador y se metio en mi web entonces en una de ellas el cierra sesion....entonces en la otra pagina se deberia estar revisando si el usuario esta logeado o no para que le muestre una alerta de que debe iniciar sesion......o si tambn se podria hacer que si el usuario trata de hacer un cambio no pueda por que tiene que logearse primero...............gracias por la ayuda
  #2 (permalink)  
Antiguo 27/08/2010, 11:54
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 4 meses
Puntos: 70
Respuesta: logeo de usuarios

De eso hay mucho por acá... revisa los faq's de sesiones

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 27/08/2010, 14:11
 
Fecha de Ingreso: febrero-2010
Ubicación: cba
Mensajes: 203
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: logeo de usuarios

Código PHP:

<?php

@session_start();
    include(
"conectar.inc");

$j=$_SESSION['id'];
$SQL5="select * from usuarios where id='$j'";
$RESULTADO5=mysql_query($SQL5);
$FILA5=mysql_fetch_array($RESULTADO5);

if (isset(
$_SESSION['k_username'])  ) {
    

    
    echo 
'<table border=0  >';
    echo 
'<tr>';
    echo 
'<td>';
    echo 
'Bienvenido, ';

    echo 
'<b>'.$_SESSION['k_username'].'</b>.';
    echo 
'</td>';
    echo 
'<td>';
    

}

}else{

echo 
'<table border=0 ><tr><td><a href="registrar.php">Registrarse|</a></td><td><a href="login.php"><b>Ingresar</b></a></td></tr></table>';
}
usando sesiones.. en todas las paginas que uses. tiene que llamar a la session y verficar si la inicio o no.. si no la inicio hacer un href para que se logee:

FORM PARA PASAR VARIABLES A VALIDARUSUARIO.PHP
Código HTML:
<form action="validar_usuario.php" method="post" name="form_login" onsubmit="return validarConsulta();">
Nombre de Usuario: <br />
<input type="text" name="usuario" size="25" maxlength="20" />
<br />
Contraseña: <br />
<input type="password" name="password" size="25" maxlength="10" />
<br /><br />
<input type="submit" value="Ingresar" />
</form> 

VALIDARUSUARIO.PHP:
Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
include ("conectar.inc");
function 
quitar($mensaje)
{
    
$nopermitidos = array("'",'\\','<','>',"\"");
    
$mensaje str_replace($nopermitidos""$mensaje);
    return 
$mensaje;
}
if(
trim($_POST["usuario"]) != "" && trim($_POST["password"]) != "")
{
    
// Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    
$usuario strtolower(htmlentities($_POST["usuario"], ENT_QUOTES));
    
$password $_POST["password"];
    
$result mysql_query('SELECT id,password, usuario,imagen FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["password"] == $password){
        
            
$_SESSION["id"] = $row['id'];
            
$_SESSION["k_username"] = $row['usuario'];
            
$_SESSION["imagen"] = $row['imagen'];
        
            
Header("Location:index.php");
            
            
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
            /*Ingreso exitoso, ahora sera dirigido a la pagina principal.
            
            <SCRIPT LANGUAGE="javascript">
            location.href = "index.php";
            </SCRIPT>*/
        
}else{
            echo 
'Password incorrecto';
        }
    }else{
        echo 
'Usuario no existente en la base de datos';
    }
    
mysql_free_result($result);
}else{
    echo 
'Debe especificar un usuario y password';
}
include (
"desconectar.inc");
?>
saludos
  #4 (permalink)  
Antiguo 27/08/2010, 14:22
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Respuesta: logeo de usuarios

Lo que deberías hacer es una validación de usuarios, ya tratados en el foro, tambien puedes validar segun el nivel de acceso asignado a un usuario, quitandole privilegios a un usuario normal a diferencia de un administrador del sistema, una clase te resolverá el problema eficientemente, es largo de programar pero es la mejor solución.
  #5 (permalink)  
Antiguo 28/08/2010, 22:49
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: logeo de usuarios

muchas gracias gordot me ayudo mucho gracias¡¡¡¡¡¡¡¡¡

Etiquetas: logeo, usuarios
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 03:57.