Foros del Web » Programando para Internet » PHP »

Mostrar nombre de usuario en otra pagina

Estas en el tema de Mostrar nombre de usuario en otra pagina en el foro de PHP en Foros del Web. Hola tengo una web en la cual pones el usuario y el password y te redirige a una nueva pagina. Me gustaria saber como hago ...

  #1 (permalink)  
Antiguo 30/04/2009, 09:23
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Pregunta Mostrar nombre de usuario en otra pagina

Hola tengo una web en la cual pones el usuario y el password y te redirige a una nueva pagina. Me gustaria saber como hago para si vuelve a la primera pagina muestre en una esquina de la web el nombre de usuario.

la pagina a la que te rediriges cuando insertas login y password es este el codigo:

Código PHP:
<?php
session_start
();
$islogin=false

if(!isset(
$_SESSION["login"])){
header("location: login.php");
}

include(
"../reg/config.php"); // incluir configuracion. 

$sql="SELECT * FROM usu WHERE userlevel='".$_SESSION['userlevel']."'";if(mysql_query($sql)) {$nivel=$_SESSION['userlevel'];
$login=$_SESSION["login"];
$islogin=true;
}
?>
Estás logueado pero todavía este apartado permanece en construcción.

<a href="logout.php">Cerrar Sesión</a><br/>
<br/>
<?php
if($islogin
{
if(
$nivel==0) {   
echo 
"Hola $login"
// Aqui le das acceso al area restringida}
}elseif($nivel==9) {  
echo 
"Hola $login. Administrador <br/> <a href=\"../noticias/agregarnoticia.php\">Enviar noticia</a>";        
// Aqui muestras opciones de administrador     
}
}else {
echo 
"Solo usuarios registrados";
}
?>
  #2 (permalink)  
Antiguo 30/04/2009, 09:35
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

Cita:
session_start();
if(!isset($_SESSION["login"])){
header("location: login.php");}
else{include('mostrardatosdelusuario.php');}
}
por ejemplo, en cada página que quieres que te muestre datos del usuario le pones algo así
  #3 (permalink)  
Antiguo 30/04/2009, 09:37
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
De acuerdo Respuesta: Mostrar nombre de usuario en otra pagina

Buenas,

Creo que lo que quieres es, bueno simplemente verificas que exista la var de session donde guardas el login y echo $_SESSION['login']..


Bueno, esto fue lo que entendi de tu pregunta espero que sea eso sino vuelve a preguntar

Saludos
  #4 (permalink)  
Antiguo 30/04/2009, 09:43
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Pregunta Respuesta: Mostrar nombre de usuario en otra pagina

Lo acabo de poner asi y sale el texto del else:

Código PHP:
<?php if(isset($_SESSION['login'])){ 
echo 
"Probando";
}
else{
echo 
"no sale nada";
?>
Eso es que no detecta la variable de sesion no?

Última edición por rompeguesos; 30/04/2009 a las 09:48 Razón: Otro descubrimiento
  #5 (permalink)  
Antiguo 30/04/2009, 09:50
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Mostrar nombre de usuario en otra pagina

A ver...
Cuando haces el login, pones $_SESSION["nombre_session"]=$variable; y cuando querés cargar el valor que obtuviste en la session, hacés solamente el echo a esa determinada session, o sea, echo $_SESSION["nombre_session"];
Y otra cosa, fijate si podés cambiar los nombres porque estás usando mucho login & islogin, y es muy fácil que te equivoques y tardes en encontrar la falla, yo te aconsejaría que utilices variables reconocibles para cada sector.

No es complicado, solo es que tenés que darle un poco a la cabeza, y de ésa forma, aunque sea algo aburrido y pesado, es la forma en que vas a aprender y dejar de esperar a que otros te solucionen tus dudas.

Un saludo.
__________________
Freelance - Aplicaciones Web
  #6 (permalink)  
Antiguo 30/04/2009, 09:59
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

Carmagedon, ami me gusta esto y creeme que antes de preguntar le doy unas cuantas vueltas lo que pasa que me falta mucho por aprender y hay cosas que me cuestan mucho trabajo seguirlas adelante, mira por ejemplo este es el caso que no se muestra ni con la ayuda de vosotros :D, lo e puesto asi y sigue mostrando el no estas logueado:

Código PHP:
<?php if(isset($_SESSION['login'])){ 
echo 
"Estás logueado";
}
else{
echo 
"No estás logueado. Loguéate <a href='usuarios/usu/login.php'>aquí.</a>";
?>
  #7 (permalink)  
Antiguo 30/04/2009, 10:30
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

Mirar me e dado cuenta que haciendo:

echo $_SESSION['login'];

en la segunda pagina va bien pero si lo hago en la primera no sale nada eso por que es?
  #8 (permalink)  
Antiguo 30/04/2009, 10:43
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
De acuerdo Respuesta: Mostrar nombre de usuario en otra pagina

Buenas,

Tienes que poner

session_star();

Saludos
  #9 (permalink)  
Antiguo 30/04/2009, 10:48
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

Si si esta puesto que no me he dado cuenta que no lo e puesto pero esta al principio de la pagina <?php session_start(); ?> pero no sale nada.... , solo indica que no estas logueado,
es muy raro no?

Tiene algo que ver porque este en una carpeta?
La primera pagina esta en el directorio de la web, la segunda esta en una carpeta "usuarios/index.php" o no tiene nada que ver que sean diferentes carpetas?

Última edición por rompeguesos; 30/04/2009 a las 11:03 Razón: carpeta diferente
  #10 (permalink)  
Antiguo 30/04/2009, 11:03
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

A ver, pon los códigos de la página dónde inicias la sesión..
  #11 (permalink)  
Antiguo 30/04/2009, 11:05
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

Es el primer post de aqui arriba: http://www.forosdelweb.com/f18/mostr...2/#post2891984
  #12 (permalink)  
Antiguo 30/04/2009, 11:08
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
De acuerdo Respuesta: Mostrar nombre de usuario en otra pagina

Buenas,

Código PHP:
<?php 
session_start
();

if(isset(
$_SESSION['login'])){ 
echo 
"Estás logueado";
}
else{
echo 
"No estás logueado. Loguéate <a href='usuarios/usu/login.php'>aquí.</a>";

?>
,pero tu en el codigo que tiene publicado en ningun momento guardas en la $_SESSION['login'] el login del user, reviza y responde.


Saludos
  #13 (permalink)  
Antiguo 30/04/2009, 11:13
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

no se lo que te refieres en la segunda pagina lo unico que hay es lo que acabas de indicar....
  #14 (permalink)  
Antiguo 30/04/2009, 11:13
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

Esque no veo dónde haces la asignacion,

$_SESSION['login'] = nombredeusuario;

despues de que el usuario inicie la sesión con nombredeusuario (por llamarlo de alguna manera..)
  #15 (permalink)  
Antiguo 30/04/2009, 11:17
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

$login=$_SESSION["login"]; <-- Te refieres a esto? esto esta en la pagina a la que te redireccionas al hacer login.

Espera acabo de ver algo raro... yo e copiao y pegao y veo que falta codigo un segundo ahora modifico el primer post
  #16 (permalink)  
Antiguo 30/04/2009, 11:20
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

tendría que ser al revés, si quieres que el valor se quede en la sesión... piensa que la variable que recibe el valor es la de la izquierda no la de la derecha!

me cuesta entender un poco tu sistema de login, pero para que el valor $_sesion['login'] sea accesible, tienes que haberlo definindo;

$_SESSION["login"] = $variabledondetengasguardadoelnombredelusuarioqueh ainiciadosesión
  #17 (permalink)  
Antiguo 30/04/2009, 11:31
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

Pues ahora mismo me dejas sin saber que hacer........ ¿Que debo de hacer entonces modificar el codigo? si es que si ¿como?

Lo que quiero añadir que creo que tiene algo que ver que esten en diferentes carpetas porque e probado a crear otras paginas y en las que estan dentro del mismo directorio funciona poniendo esto:

if(isset($_SESSION["login"])){
echo "Logueado";
}

Pero en las paginas que estan en en otro directorio fuera de las carpetas no funciona...

Última edición por rompeguesos; 30/04/2009 a las 11:38 Razón: el tema de las carpetas
  #18 (permalink)  
Antiguo 30/04/2009, 11:42
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

Vamos a ver,

cuando tu dices:

Código PHP:
if(isset($_SESSION["login"])) 
lo que estás pidiendo, es si esa variable tiene un valor. Si no se lo has dado en ningún momento, es normal que siempre te salte al 'else' porque nunca va a tener valor (hasta que se lo des jeje)

entonces, lo que tienes que hacer; cuando el suario se loguee, y por tanto hayas verificado que existe, que el pass es correcto y blablalblalbala

haces,

session_start(){
$_SESSION['login'] = "manolo"

y dónde pone manolo, puedes poner una variable; imagino que lo haces con un $_POST['nombre'] del formulario o similar?

pues

$_SESSION['login'] = _POST['nombre'];

A ver si ahora! xD

si no lo entiendes, te recomiendo que vayas a la sección de aportes; que está mejor explicado ;)
  #19 (permalink)  
Antiguo 30/04/2009, 11:51
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

si si ahora te e entendido pero entonces volviendo al tema directorios, porque entonces en las paginas del mismo directorio sale sin indicar nada mas?, no se si me entendistes bien pero en las del mismo directorio "si sale donde pone Estas logueado..."
  #20 (permalink)  
Antiguo 30/04/2009, 11:57
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

No te entendí jaja

si pones los codigos, lo miramos..
  #21 (permalink)  
Antiguo 30/04/2009, 12:05
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

Mira ponte que esto es un sitio web:

RAIZ
Inicio.php (Pagina)
Prueba.php (Pagina)
---------------> usuarios (Carpeta)
Inicio2.php
Prueba2.php

Lo que me refiero es que todas las paginas que estan dentro de la carpeta "usuarios" funcionan perfectamente y muestran el texto " Estas logueado..." poniendo el codigo:

Código PHP:
<?php 
session_start
();
if(isset(
$_SESSION['login'])){ 
echo 
"Estás logueado como $login. <a href='logout.php'>Cerrar sesión</a>";
}
else{
echo 
"No estás logueado";
}
Y que en todas las paginas de la raiz si pones el mismo codigo lo que muestra es el else " No estas logueado.."

Entiendes?
  #22 (permalink)  
Antiguo 30/04/2009, 12:11
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

Pues no se cual puede ser el problema,

de todos modos. no tiene mucho sentido que preguntes a ver si una variable tiene valor, si total vas a mostrar otra; tienes que hacerlo igual por todo,

si cuando el usuario se loguea, lo guardas en la sesión; tienes que hacer -al querer comprobar- ($_SESSION['login'] = $_POST['nombre']; por ejemplo)

Código PHP:
<?php 
session_start
();
if(isset(
$_SESSION['login'])){ 
echo 
"Estás logueado como".$_SESSION['login']."<a href='logout.php'>Cerrar sesión</a>";
}
else{
echo 
"No estás logueado";
}
Y volviendo a tu problema... tienes en todas session_start(); ???? esque no debería importar en qué directorio estés...
  #23 (permalink)  
Antiguo 30/04/2009, 12:14
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

si todas tienen session_start(); ....
  #24 (permalink)  
Antiguo 30/04/2009, 12:17
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

jajajaja,

de todos modos, cambiaría lo que te decía antes.. ;)
  #25 (permalink)  
Antiguo 30/04/2009, 12:19
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Pregunta Respuesta: Mostrar nombre de usuario en otra pagina

mira no habia caido en este haber si esta aqui el fallo es el comprueba.php que te comprueba el usuario y eso:

Código PHP:
<?php    
session_start
();    
include(
"../reg/config.php");    
$login $_POST['login'];    
$pass $_POST['pass'];    
$qry="SELECT id, password,userlevel FROM usu WHERE email='$login'";   
//echo $qry."<br>"; 
$result=mysql_query($qry) or die(mysql_error());   
//echo "Las filas encontradas son ".mysql_num_rows($result);   
if(mysql_num_rows($result)==0)
{    
    
header("location: login.php?error=3");    
    exit();    

else 
{    
    
$array=mysql_fetch_array($result);
if(
$array["password"]!=md5($pass))

    {    
        
header("Location: login.php?error=2");
        exit();    
    }
    else
    {
        
$_SESSION['login'] = $email;
        
$_SESSION["id"] = $array['id'];
        
$_SESSION["userlevel"] = $array['userlevel']; 
        
header("Location: index.php");    
        exit();    
    }    
}    
?>
  #26 (permalink)  
Antiguo 30/04/2009, 12:28
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

Amigo, este es el código que te pedía hace como 50 posts...!!!!!!!

$_SESSION['login'] = $email;
$_SESSION["id"] = $array['id'];

vale, pues lo estabas haciendo bien todo el rato... solo te falta, en las demás paginas, estudiar la variable en la sesion y no $login sin más.. ;)

De todos modos, es un poco abstracta tu manera de exponer el problema, podríamos estar así un año... !!!!!


por qué no pones el código completo de una de las páginas dónde no te va bien?
  #27 (permalink)  
Antiguo 30/04/2009, 12:40
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

creo que nos estamos mareando jejeje como que el codigo de una pagina donde falla? ya la e dicho varias veces. Haber... esto lo dejo asi tonces no?

Código PHP:
$_SESSION['login'] = $_POST['login'];    
        
$_SESSION["id"] = $array['id']; 
Con respecto al codigo de una pagina que no funciona este es el codigo:

Código PHP:
<?php
session_start
();
 if(isset(
$_SESSION['login'])){ 
echo 
"Estás logueado como $login. <a href='logout.php'>Cerrar sesión</a>";
}
 
?>
Lo unico que pasa que depende del directorio del servidor funciona o no... tal como explicaba antes.
  #28 (permalink)  
Antiguo 30/04/2009, 12:43
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

OTRA VEZ?!!!!!!!


Ponlo así:


Código PHP:
<?php 
session_start
();
if(isset(
$_SESSION['login'])){ 
echo 
"Estás logueado como".$_SESSION['login']."<a href='logout.php'>Cerrar sesión</a>";
}
else{
echo 
"No estás logueado";
}

Fijaté que he cambiado la variable del echo, es muy importante; ya que cuando sales del .php que estás, el valor de la variable $login y ano existe.. para eso creas la sesión y lo guardas ahí..
  #29 (permalink)  
Antiguo 30/04/2009, 12:58
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mostrar nombre de usuario en otra pagina

Bam_Margera lo he puesto como me has dicho pero no va lo que se muestra es el "else", lo que no coge el valor es el "if" y este es el problema ya que pasa a imprimir el else aunque el usuario este logueado indica "No logueado".
  #30 (permalink)  
Antiguo 30/04/2009, 13:02
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Mostrar nombre de usuario en otra pagina

Entonces, my friend, no se como ayudarte.. porque imagino que has iniciado la sesión jajaja
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 11:06.