Foros del Web » Programando para Internet » PHP »

Mostrar nombre despues de logearse

Estas en el tema de Mostrar nombre despues de logearse en el foro de PHP en Foros del Web. Hola tengo un formulario de inicio de sesion, quiero que luego de iniciar sesion me muestre el nombre de usuario de la persona en cada ...
  #1 (permalink)  
Antiguo 25/10/2012, 14:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Mostrar nombre despues de logearse

Hola tengo un formulario de inicio de sesion, quiero que luego de iniciar sesion me muestre el nombre de usuario de la persona en cada pagina que me meta dentro de ahi en adelente dentro del sistema. ojala me entiendan y me puedan ayudar . esto es lo que tengo:

conectarse.php

Código PHP:
<?php

if (isset($_POST["username"])) {
    include (
"lib.php");
    
session_start();
    
    
$cnx conectar();
    if (
$_POST['username']) {
      
$username=$_POST['username'];
      
$password=$_POST['password'];
     if (
$password==NULL) {
         echo 
"<p>No escribió la contraseña.</p><p><a href='listados2.php'>Haga click aqui para volver</a></p>";
     }else{
         
$query mysql_query("SELECT email,pass FROM usuario WHERE email = '$username'") or die(mysql_error());
         
$data mysql_fetch_array($query);
         if(
$data['pass'] != $password) {
            echo 
"<p>Datos incorrectos, por favor vuelta atrás y vuelva a intentarlo.</p><p><a href='conectarse.php'>Haga click aqui para volver</a></p>";
         }else{
            
$query mysql_query("SELECT email,pass FROM usuario WHERE email = '$username'") or die(mysql_error());
            
$row mysql_fetch_array($query);
            
$_SESSION["s_username"] = $row['username'];
            
header ("location: home.php");
              }
     }
    }

$_POST["usuario"] = $username;

}else{

echo 
"<center><div style=' width: 50%; padding: 5px; margin-top: 20px'>
<form action='conectarse.php' method='POST'>

<table style='text-align: left; width: 90%;'
 border='0' cellpadding='2' cellspacing='2'>
  <tbody>
    <tr>
      <td><strong>Nombre de usuario:</strong></td>
      <td><input type='text' name='username' style='width:100%'></td>
    </tr>
    <tr>
      <td><strong>Contraseña:</strong></td>
      <td><input type='password' name='password' style='width: 100%'></td>
    </tr>
  </tbody>
</table>
<center><br><input type='submit' value='Conectarse'></center>
</form>
</div></center>
"
;
}

?>

home.php (una vez que el usuario y pass sean correcto)

Código PHP:
<?php
include "lib.php";

echo 
"Estas logeado";
echo 
"AQUI DEBERIA IR EL NOMBRE DE USUARIO":

?>
  #2 (permalink)  
Antiguo 25/10/2012, 14:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar nombre despues de logearse

1. Inicia sesión
2. Imprime el valor de la sesión
3. Es increíble que sabiendo usar variables no sepas usarlas (contradicción)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 25/10/2012, 14:43
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Mostrar nombre despues de logearse

Cita:
Iniciado por pateketrueke Ver Mensaje
1. Inicia sesión
2. Imprime el valor de la sesión
3. Es increíble que sabiendo usar variables no sepas usarlas (contradicción)
jaja es que no se mucho de php, se manejar algo de las variables pero en este caso nose como pasar las variables de sesion de una pagina a otra.
  #4 (permalink)  
Antiguo 25/10/2012, 14:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar nombre despues de logearse

Entonces te sugiero que consultes el manual.
http://www.php.net/manual/es/book.session.php

Las variables de sesión no tienes que pasarlas de ningún modo, una vez creadas existen en todos los scripts que inicien la misma sesión.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 25/10/2012, 15:04
Avatar de fodsite  
Fecha de Ingreso: agosto-2005
Ubicación: Talca
Mensajes: 20
Antigüedad: 18 años, 8 meses
Puntos: 3
Respuesta: Mostrar nombre despues de logearse

Básicamente deberías usar session_start() en cada página y asignar el nombre de usuario en una variable de sesión con $_SESSION["nombre"].
  #6 (permalink)  
Antiguo 19/01/2016, 15:47
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Pregunta Respuesta: Mostrar nombre despues de logearse

Cita:
Iniciado por pateketrueke Ver Mensaje
1. Inicia sesión
2. Imprime el valor de la sesión
3. Es increíble que sabiendo usar variables no sepas usarlas (contradicción)
Que tal Pate yo tambien tengo un problema similar, quiero que en vez de que me muestre usuario quiero que me muestre el nombre, en mi BD tengo un campo "nombre", pero no tengo idea como puedo cambiarlo este es codigo que uso para que muestre el usuario

Código PHP:
<?php
// Configura la información de tu cuenta
$dbhost="localhost"//este es el usuario local
$dbusername="xxxxx"//este es el nombre de la tabla
$dbuserpass="xxxxx"//este es el password de la BD
$dbname="xxxxx"//este es el nombre de la BD
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 
"";
}else{
header("Location: ../form_user.php");
echo 
$_SESSION['s_username'];
}

session_set_cookie_params(0);

$query mysql_query("SELECT username,password FROM papeleriausers WHERE username = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"];
?>
y con este muestro el usuario
Código PHP:
<?php:
echo 
"" .$_SESSION["s_username"];
?>
espero me ayudes de antemano gracias...
  #7 (permalink)  
Antiguo 19/01/2016, 15:54
 
Fecha de Ingreso: octubre-2011
Mensajes: 206
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Mostrar nombre despues de logearse

Pon en el select además de userame y password el campo que quieres mostrar (name)
  #8 (permalink)  
Antiguo 19/01/2016, 16:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar nombre despues de logearse

Además estas lineas son inútiles:
Código PHP:
Ver original
  1. // MAL
  2. $row = mysql_fetch_array($query);
  3. $_SESSION["s_username"];
  4.  
  5. // BIEN
  6. $row = mysql_fetch_array($query);
  7. $_SESSION["s_username"] = $row['la_columna_del_nombre'];

PDTA: por favor, abre un tema nuevo siempre que puedas, estás preguntado en un tema de hace más de 4 años.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 19/01/2016, 17:12
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Mostrar nombre despues de logearse

Cita:
Iniciado por pateketrueke Ver Mensaje
Además estas lineas son inútiles:
Código PHP:
Ver original
  1. // MAL
  2. $row = mysql_fetch_array($query);
  3. $_SESSION["s_username"];
  4.  
  5. // BIEN
  6. $row = mysql_fetch_array($query);
  7. $_SESSION["s_username"] = $row['la_columna_del_nombre'];

PDTA: por favor, abre un tema nuevo siempre que puedas, estás preguntado en un tema de hace más de 4 años.
1000 disculpas pero como mire que sabias del tema hice la cita.
ya tengo el codigo como me comentaste pero ahora como muestro el nombre en vez del usuario?

Código PHP:
$query mysql_query("SELECT username,password,nombre FROM papeleriausers WHERE username = '$username'") or die(mysql_error());

$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['nombre']; 
muestro el usuario con este
Código PHP:
$_SESSION["s_username"
pero no tengo idea como mostrarlo con el nombre
  #10 (permalink)  
Antiguo 19/01/2016, 17:15
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Mostrar nombre despues de logearse

Prueba asignando el valor de la variable a una nueva variable para usarla cuando lo necesites.

Por ejemplo:

Código PHP:
Ver original
  1. $row = mysql_fetch_array($query);
  2. $_SESSION["nombre"] = $row['nombre'];
  3.  
  4. $nombre = $_SESSION["nombre"];
  5.  
  6. echo $nombre;
__________________
¿Te sirvió la respuesta? Deja un +1
  #11 (permalink)  
Antiguo 19/01/2016, 17:27
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Mostrar nombre despues de logearse

que tal pero asi tendria que iniciar secion ya no con usuario si no con nombre y lo que necesito es entrar con el nombre de usuario pero al iniciar sesion me muestre el nombre, obviamente en mi BD tengo un campo con el nombre NOMBRE ademas esta linea
Código PHP:
$_SESSION["s_username"] = $row['username']; 
me cierra sesion cuando actualizo el navegador

espero me quede jijijiij me esta doliendo la cabeza jejejejej
  #12 (permalink)  
Antiguo 19/01/2016, 17:29
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Mostrar nombre despues de logearse

¿Cómo estás haciendo exactamente el "login"? No tiene sentido lo que dices.
__________________
¿Te sirvió la respuesta? Deja un +1
  #13 (permalink)  
Antiguo 19/01/2016, 17:42
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Mostrar nombre despues de logearse

ok mira, este codigo es el que recibe el formulario con los campos username y password

entrar_admin
Código PHP:
<?php

require_once("conexion_users.php");

session_start();

$con=mysql_connect($host,$user,$pw) or die("Problemas con el servidor");
mysql_select_db($db,$con) or die("Problemas con base de datos"); 



if (
$_POST['username']) {
$username=$_POST['username'];
$password=$_POST['password'];
if (
$password==NULL) {
echo 
"La Contraseña no fue enviada, haz Click ".'<a href="javascript:history.back(1)">
Aqui</a>'
." para regresar";
}else{
$query mysql_query("SELECT username,password FROM papeleriausers WHERE username = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
header("Location:admin/error_admin.php");
}else{
$query mysql_query("SELECT username,password FROM papeleriausers WHERE username = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];

header("Location: admin/correcto_admin.php");
}
}
}
?>
y aqui es donde muestro los datos una vez logueado
index.php
Código PHP:
<?php
// Configura la información de tu cuenta
$dbhost="localhost"//este es el usuario local
$dbusername="xxxx"//este es el nombre de la tabla
$dbuserpass="xxxx"//este es el password de la BD
$dbname="xxxxx"//este es el nombre de la BD
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 
"";
}else{
header("Location: ../form_user.php");
echo 
$_SESSION['s_username'];
}

session_set_cookie_params(0);

$query mysql_query("SELECT username,password, FROM papeleriausers WHERE username = '$username'") or die(mysql_error());

$row mysql_fetch_array($query);
$_SESSION["s_username"];

?>
con este codigo muestro el usuario y es aqui donde quiero mostrar el nombre y no el usuario
Código PHP:
<?php
echo "Hola:" .$_SESSION["s_username"];
?>
  #14 (permalink)  
Antiguo 19/01/2016, 22:13
 
Fecha de Ingreso: septiembre-2015
Mensajes: 142
Antigüedad: 8 años, 7 meses
Puntos: 13
Respuesta: Mostrar nombre despues de logearse

Dices que quieres que muestre el nombre y no el usuario ?
ps simple donde generas esto :

Código PHP:
$_SESSION["s_username"] = $row['nombre del campo del nombre y no del usuario']; 
y acá muestras :

Código PHP:
<?php 
session_start
(); 
echo 
"Hola:" .$_SESSION["s_username"]; 
?>

Etiquetas: formulario, logearse, mysql, nombre, sql, 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 17:46.