Foros del Web » Programando para Internet » PHP »

como mostrar usuario logueado en la misma pagina

Estas en el tema de como mostrar usuario logueado en la misma pagina en el foro de PHP en Foros del Web. buenas a todos. estoy desarrollando un formulario de logueo con jquery ajax para acceder a un panel de administracion. ya hice que valide el usuario ...
  #1 (permalink)  
Antiguo 18/05/2010, 15:45
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Pregunta como mostrar usuario logueado en la misma pagina

buenas a todos. estoy desarrollando un formulario de logueo con jquery ajax para acceder a un panel de administracion. ya hice que valide el usuario y la contraseña de la bd.

yo estoy en las paginas x.php, x2.php, x3.php, etc. en esas paginas esta el formulario login. me logueo y le digo al php que me muestre los datos del usuario logueado en cualquier pagina php que yo este navegando.

mi consulta es la siguiente. como hago en el php para que en la misma pagina me muestre el usuario logueado sin decirle que me redireccione al index.php ?.

he provado con header('Location:'.getenv('HTTP_REFERER')); pero parece que no me muestra el usuario logeuado en la misma pagina utilizando el ajax.

este es mi codigo.

Código Javascript:
Ver original
  1. function validar_login(){
  2.    
  3.     var username = document.getElementById('username').value;
  4.     var password = document.getElementById('password').value;  
  5.    
  6.     $.ajax({
  7.         contentType: "application/x-www-form-urlencoded",
  8.         url: "validar.php",
  9.         type: "POST",
  10.         data: "submit=&username="+username+"&password="+password,
  11.         beforeSend: function(){$("#customer_login").hide("fast");}, //show loading just when link is clicked
  12.         complete: function(){ $("#customer_login").show("fast");}, //stop showing loading when the process is complete     
  13.         success: function(datos){  
  14.             $("#customer_login").show("slow"); //animation
  15.             $("#customer_login").html(datos);
  16.         }
  17.     });
  18. }

validar.php

Código PHP:
Ver original
  1.     include("includes/conexion.php");
  2.    
  3.     $sql_login = "SELECT * FROM usuarios where usuario = '".$_POST['username']."'
  4.                   and clave = '".$_POST['password']."'";
  5.                  
  6.     $rpta_login = mysql_query($sql_login) or die(mysql_error());
  7.    
  8.     if(mysql_num_rows($rpta_login)>0){
  9.         $_SESSION['var_usuario'] = $_POST["username"];
  10.         $_SESSION['var_pass'] = $_POST["password"];
  11.        
  12.         header('Location:'.getenv('HTTP_REFERER'));
  13.    
  14.     }else{
  15.         header("Location:login.php?error=2");
  16.     }

Última edición por esaenz22; 18/05/2010 a las 15:54 Razón: correccion.
  #2 (permalink)  
Antiguo 18/05/2010, 16:36
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: como mostrar usuario logueado en la misma pagina

Facil

si simplemente quieres poner usuario validado

<?php if(isset($_SESSION['var_pass']){ echo "Usuario Validado"; } ?>

Si quieres poner el usuario

<?php if(isset($_SESSION['var_pass']){ echo "usuario: ".$_SESSION['var_pass']; } ?>
__________________
Tengo una pregunta que a veces me tortura... ¿El loco soy yo o los locos son los demás?
  #3 (permalink)  
Antiguo 18/05/2010, 20:10
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: como mostrar usuario logueado en la misma pagina

Creo que se lo que quieres:

Mostrar el nombre de usuario loguedo... pero la pagina redirecciona tan rapido que no lo ves (si lo pusieras)

Podrias hacerlo asi:

Un trozo de tu codigo.
copialo y pegalo:


$_SESSION['var_usuario'] = $_POST["username"];
$_SESSION['var_pass'] = $_POST["password"];

//mostramos el nombre del usuario vlidado
if($_SESSION['var_usuario'] != ""){
echo "Bienvenido: ".$_SESSION['var_usuario']."...!!";
}

//un simple redireccionamiento con html ya que es facil darle un tiempo de espera
//tambien se podria hacer con php
?>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="refresh"
content="4;URL=<?=getenv('HTTP_REFERER')?>">
<?

//comentamos esta linea
//header('Location:'.getenv('HTTP_REFERER'));




Bueno espero que sea lo qe buscas...!

Saludos...!
  #4 (permalink)  
Antiguo 19/05/2010, 14:04
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: como mostrar usuario logueado en la misma pagina

gracias por la respuesta wiwi74. para cerrar session, utilizo el mismo procedimiento de validar.php ?

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.     unset($_SESSION['var_usuario'],$_SESSION['var_pass']);
  4.  
  5. ?>
  6.  
  7. //un simple redireccionamiento con html ya que es facil darle un tiempo de espera
  8. //tambien se podria hacer con php
  9.  
  10. <meta http-equiv="pragma" content="no-cache">
  11. <meta http-equiv="refresh" content="4;URL=<?=getenv('HTTP_REFERER')?>">
  12.  
  13. <div id="customer_login">
  14.      <a href="javascript:void(0)" onclick="login();">CUSTOMER LOGIN</a>
  15. </div>

saludos.

Última edición por esaenz22; 19/05/2010 a las 14:11 Razón: correccion.

Etiquetas: logueado, 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 09:21.