Foros del Web » Programando para Internet » PHP »

Reconocimiento de usuarios y darle la bienvenida con su nombre

Estas en el tema de Reconocimiento de usuarios y darle la bienvenida con su nombre en el foro de PHP en Foros del Web. Buenas tardes amigos del foro pues tengo un pequeño problema ya que tengo una base de datos con la informacion de cada usuario es decir: ...
  #1 (permalink)  
Antiguo 05/11/2009, 16:50
Avatar de JesusCruz88  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/baja-california/?city=tijuana&action=addmeFriend
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 1
Reconocimiento de usuarios y darle la bienvenida con su nombre

Buenas tardes amigos del foro pues tengo un pequeño problema ya que tengo una base de datos con la informacion de cada usuario es decir:

id
nick
pass
email
nombre real

Entonces estoy haciendo un panel de control los usuarios es decir quiero que cuando inicien sesion con su user y pass y entren a la pagina protegida les de la bienvenida con su nombre por ej. Bienvenido Santiago

tambien que me mostrara la ultima vez que inicio sesion es decir que ese registro se guarde en la base de datos en el campo lastLogin espero pueda contar con su ayuda ya que es muy importante...

Si necesitan algo diganme para ponerlo aqui

Y gracias anticipadas...
  #2 (permalink)  
Antiguo 05/11/2009, 16:52
Avatar de Ekel  
Fecha de Ingreso: noviembre-2009
Mensajes: 62
Antigüedad: 15 años
Puntos: 3
Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

que usas

Sesiones
o Cokies
?
  #3 (permalink)  
Antiguo 05/11/2009, 16:54
Avatar de JesusCruz88  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/baja-california/?city=tijuana&action=addmeFriend
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

Este es el archivo que se llama login.class.php

Código PHP:
<?php 
session_start
();
class 
LoginSystem
{
    var    
$db_host,
        
$db_name,
        
$db_user,
        
$db_password,
        
$connection,
        
$username,
        
$password;

    function 
LoginSystem()
    {
        require_once(
'settings.php');
        
        
$this->db_host $dbhost;
        
$this->db_name $dbname;
        
$this->db_user $dbuser;
        
$this->db_password $dbpassword;
    }
    
    function 
isLoggedIn()
    {
        if(
$_SESSION['LoggedIn'])
        {
            return 
true;
        }
        else return 
false;
    }
    
    function 
doLogin($user$pass)
    {
        
$this->connect();
        
        
$this->user $user;
        
$this->pass $pass;
        
        
$sql sprintf("SELECT * FROM enable WHERE user = '%s' and pass = '%s'"
                                            
$this->clean($this->user), md5($this->clean($this->pass)));
                        
        
$result mysql_query($sql$this->connection);
        
        if(
mysql_affected_rows($this->connection) != 1)
        {
            
$this->disconnect();
            return 
false;
        }
        else
        {
            
$row mysql_fetch_assoc($result);
            
            
session_regenerate_id();
            
            
$_SESSION['LoggedIn'] = true;
            
$_SESSION['userName'] = $this->user;
            
        }
        
        
$this->disconnect();
        return 
true;
    }
    
    function 
logout()
    {
        unset(
$_SESSION['LoggedIn']);
        unset(
$_SESSION['user']);
        
session_destroy();
    }
    
    function 
connect()
    {
        
$this->connection mysql_connect($this->db_host$this->db_user$this->db_password
                                                        or die(
"Unable to connect to MySQL");
        
        
mysql_select_db($this->db_name$this->connection) or die("Unable to select DB!");
        
        if(
$this->connection)
        {
            return 
true;
        }
        else return 
false;
    }
    
    function 
disconnect()
    {
        
mysql_close($this->connection);
    }
    
    function 
clean($str)
    {
        if(
get_magic_quotes_gpc())
        {
            
$str stripslashes($str);
        }
        
$str mysql_real_escape_string($str);
        
        return 
$str;
    }
    
    function 
randomPassword($length 8)
    {
        
$pass "";
        
        
$chars = array("a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J",
               
"k","K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T",
               
"u","U","v","V","w","W","x","X","y","Y","z","Z","1","2","3","4","5","6","7","8","9");
               
        for(
$i=$i $length $i++)
        {
            
$pass .= $chars[mt_rand(0count($chars) -1)];
        }
        return 
$pass;
    }
}
?>
Este archivo es el que se encarga de validar a los usuarios y funciona a la perfeccion...
  #4 (permalink)  
Antiguo 05/11/2009, 17:07
Avatar de Ekel  
Fecha de Ingreso: noviembre-2009
Mensajes: 62
Antigüedad: 15 años
Puntos: 3
Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

puedes llamar el nombre de la sesion con algo mas o menos asi


Código PHP:
 Bienvenido <?php $_SESSION['user'?>
creo no estoy muy seguro

y en efecto estas usuando Sesiones nadamas

Para mi es mejor usar Cookies



saludos!! :)
  #5 (permalink)  
Antiguo 05/11/2009, 17:21
Avatar de JesusCruz88  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/baja-california/?city=tijuana&action=addmeFriend
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

Creo que con eso nadamas apareceria el nombre de usuario osea el nick pero no el nombre real... y si no seria mucha molestia como seria con cookies?
  #6 (permalink)  
Antiguo 05/11/2009, 17:23
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 8 meses
Puntos: 25
Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

Para hacerlo con cookies tendrias que crearlo desde la validacion, pero yo prefiero sesiones, las cookies se pueden modificar, obvio las sesiones tambien pero estan encriptadas, creo.

Muy simple lo que quieres, haces una consulta a la base de datos WHERE nick = '$_SESSION['user']'

[SQL]SELECT * FROM nombre de la table WHERE nick = '$_SESSION[user]'[/SQL]
Luego asocias los resultados, y los mostrar, ejemplo Tu id es $row[id]

Lo de lastlogin, podrias hacer que al iniciar sesion, se actualize en la base de datos un campo lastlogin, date(C), y despues lo muestras. Espero que hayas entendido
  #7 (permalink)  
Antiguo 05/11/2009, 17:31
Avatar de JesusCruz88  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/baja-california/?city=tijuana&action=addmeFriend
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

La verdad no te entendi muy bien si podrias ser un poco mas explicito... mi archivo de validacion usa sesiones y no si podrias explicarme bien como seria esto...

Código PHP:
[SQL]SELECT FROM nombre de la table WHERE nick '$_SESSION[user]'[/SQL]
Luego asocias los resultadosy los mostrarejemplo Tu id es $row[id
Gracias almagropaco_
  #8 (permalink)  
Antiguo 05/11/2009, 17:47
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 8 meses
Puntos: 25
Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

Seamos mas explicitos, luego de el inicio de sesion, suponte que nos lleva a users.php, al logearse se habran creado las sesiones especificadas en el codigo (user y LoggedIn) calculo que la session que tendra el usuario sera user, entonces la asignamos a una variable.
$user=$_SESSION['user'];
Con eso ya podrias hacer algo como.
Hola almagropaco (Hola $user)

Con la session ya sabemos el nombre del usuario logeado, entonces hacemos una consulta, seleccionamos los campos necesarios.
$result=mysql_query("SELECT email, nombre real FROM tabla WHERE nick = '$user'");
Calculo que eso lo entenderas, selecciona el email y el nombre real cuando el nombre de usuario es igual al usuario logeado.
Luego asocias los resultados
$row = mysql_fetch_assoc($result);
Y ya tienes todo para hacer una presentacion mas formal.
Hola $row[nombre real], tu email es $row[email] y tu nick $_SESSION[user]
Lo que seria equivalente a
Hola Francisco Almagro, tu email es [email protected] y tu nick almagropaco

Perdona si no soy lo suficientemente explicito, es lo que mas me cuesta, obviamente, todo esto se hace con PHP, como te daras cuenta, si no entiendes como hacer consultas podremos decirlo como hagas, pero te recomendaria que leeas algun manual. Saludos
  #9 (permalink)  
Antiguo 06/11/2009, 13:09
Avatar de JesusCruz88  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/baja-california/?city=tijuana&action=addmeFriend
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

Aqui de nuevo hice lo posible y pues lo utilice asi

Código PHP:
<?
$bd_host 
"localhost"
$bd_usuario "user"
$bd_password "pass"
$bd_base "database"
$con mysql_connect($bd_host$bd_usuario$bd_password); 
mysql_select_db($bd_base$con); 

$user $_SESSION['user'];
$Resultado=mysql_query("SELECT * FROM tabla WHERE user='$user'",$con);
 while(
$MostrarFila=mysql_fetch_array($Resultado)){
  echo 
"Bienvenido ".$MostrarFila['PartnerName']." Tu Email es: ".$MostrarFila['Email2_1']."";
}
?>
Y pues la verdad no me da ningun resultado si no es mucha molestia alguien me puede ayudar?
  #10 (permalink)  
Antiguo 06/11/2009, 13:38
Avatar de JesusCruz88  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/baja-california/?city=tijuana&action=addmeFriend
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

Gracias a todos ya tengo lo que esperaba y continuando como le podria hacer para guardar la fecha de la ultima sesion y que esta se guarde en la base de datos?
  #11 (permalink)  
Antiguo 06/11/2009, 13:42
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

usando...
$fecha = date("Y-m-d");

mysql_query("INSERT INTO tabla values('". $fecha ."')");

Revisa la funcion date de php
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #12 (permalink)  
Antiguo 06/11/2009, 15:02
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 8 meses
Puntos: 25
Respuesta: Reconocimiento de usuarios y darle la bienvenida con su nombre

Como te dije antes y como te dijo acoevil. Que al logearse, se guarde en la base de datos. Pero yo pondria un campo para cada user. Entonces usaria la sentencia UPDATE no INSERT.
$fecha = date("Y-m-d");
mysql_query("UPDATE tabla SET lastLogin='$fecha' WHERE nick = '$_SESSION[user]'");
Espero que puedas entenderlo. Saludos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:42.