Foros del Web » Programando para Internet » PHP »

mostrar dato segun registro

Estas en el tema de mostrar dato segun registro en el foro de PHP en Foros del Web. hola chicos quisiera poner el nombre del usuario por ejemplo que diga Hola Juan , tengo un archivo que tiene esto y solamente me muestra ...
  #1 (permalink)  
Antiguo 08/03/2016, 21:54
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 15 años, 5 meses
Puntos: 2
Pregunta mostrar dato segun registro

hola chicos quisiera poner el nombre del usuario por ejemplo que diga Hola Juan, tengo un archivo que tiene esto y solamente me muestra CERRAR SESION, es un script bajado en el cual no entiendo como poder hacerlo, gracias

Código PHP:
  <?php if(!isset($_SESSION["user_id"])):?>
      <li class="nav_winning_numbers main_nav_item no_hover"><a class="main_nav_item" href="./register.php">REGISTRARME</a></li>
      <li class="nav_winning_numbers main_nav_item no_hover"><a class="main_nav_item" href="./ingresar.php">INGRESAR</a></li>
    <?php else:?>
      <li class="nav_winning_numbers main_nav_item no_hover"><a class="main_nav_item" href="./php/logout.php"><font color="#010203">Cerrar Sesi&oacute;n</font></a></li>
      
    <?php endif;?>
  #2 (permalink)  
Antiguo 08/03/2016, 23:51
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: mostrar dato segun registro

Código PHP:
<?php if(!isset($_SESSION["user_id"])):?>
<li class="nav_winning_numbers main_nav_item no_hover"><a class="main_nav_item" href="./register.php">REGISTRARME</a></li>
<li class="nav_winning_numbers main_nav_item no_hover"><a class="main_nav_item" href="./ingresar.php">INGRESAR</a></li>
<?php else:?>
<?php print_r
($_SESSION);/* Borrar toda esta linea */?>
<?php 
echo 'Hola ',$_SESSION["user_id"];?><br />
<li class="nav_winning_numbers main_nav_item no_hover"><a class="main_nav_item" href="./php/logout.php"><font color="#010203">Cerrar Sesi&oacute;n</font></a></li>
<?php endif;?>
Con el: print_r() sabrás cual es key para el nombre solo cambíalo ejemplo: $_SESSION["name"] el print_r() te lo dara...
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #3 (permalink)  
Antiguo 09/03/2016, 00:02
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: mostrar dato segun registro

gracias por la respuesta osea el id si me lo marca por que me tira el numero, pero intento que muestre el username y nada. :s
  #4 (permalink)  
Antiguo 09/03/2016, 00:04
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: mostrar dato segun registro

y el print_r() que resultado te da?

si no te da nada muestra el código php donde se inicia la sesión
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #5 (permalink)  
Antiguo 09/03/2016, 00:07
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: mostrar dato segun registro

Recuerda que si estas guardando en la variable de sesion unicamente el id será todo lo que obtengas,
la solucion sería en tu login (donde buscas al usuario para darle acceso) guardes tambien el nombre
Código PHP:
Ver original
  1. $_SESSION['user_id']=$_POST['user'];//algo asi debe estar asignada la variable en el login
  2. $_SESSION['nombre']=$tu_cosulta_de_login['nombre_de_usuario'];

de esa manera tendras una variable de sesion llamada nombre a la cual podras tener acceso en toda la aplicacion.
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #6 (permalink)  
Antiguo 09/03/2016, 00:20
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: mostrar dato segun registro

Cita:
Iniciado por thezzin Ver Mensaje
y el print_r() que resultado te da?

si no te da nada muestra el código php donde se inicia la sesión
Código PHP:
<?php

if(!empty($_POST)){
    if(isset(
$_POST["username"]) &&isset($_POST["password"])){
        if(
$_POST["username"]!=""&&$_POST["password"]!=""){
            include 
"conexion.php";
            
            
$user_id=null;
            
$sql1"select * from user where (username=\"$_POST[username]\" or email=\"$_POST[username]\") and password=\"$_POST[password]\" ";
            
$query $con->query($sql1);
            while (
$r=$query->fetch_array()) {
                
$user_id=$r["id"];
                break;
            }
            if(
$user_id==null){
                print 
"<script>alert(\"Acceso invalido.\");window.location='../login.php';</script>";
            }else{
                
session_start();
                
$_SESSION["user_id"]=$user_id;
                print 
"<script>window.location='../index.php';</script>";                
            }
        }
    }
}



?>
  #7 (permalink)  
Antiguo 09/03/2016, 00:21
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: mostrar dato segun registro

Cita:
Iniciado por juancaalbarracin Ver Mensaje
Recuerda que si estas guardando en la variable de sesion unicamente el id será todo lo que obtengas,
la solucion sería en tu login (donde buscas al usuario para darle acceso) guardes tambien el nombre
Código PHP:
Ver original
  1. $_SESSION['user_id']=$_POST['user'];//algo asi debe estar asignada la variable en el login
  2. $_SESSION['nombre']=$tu_cosulta_de_login['nombre_de_usuario'];

de esa manera tendras una variable de sesion llamada nombre a la cual podras tener acceso en toda la aplicacion.
por lo que veo no hay nada de eso :s
  #8 (permalink)  
Antiguo 09/03/2016, 00:28
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: mostrar dato segun registro

manteniendo tu logica debera ser algo como
Código PHP:
Ver original
  1. while ($r=$query->fetch_array()) {
  2.                 $user_id=$r["id"];
  3.                 $user_nom=$r["nombre"];//lo de nombre dependera de como lo tengas en tu db
  4.                 break;
  5.             }
  6.             if($user_id==null){
  7.                 print "<script>alert(\"Acceso invalido.\");window.location='../login.php';</script>";
  8.             }else{
  9.                 session_start();
  10.                 $_SESSION["user_id"]=$user_id;
  11.                 $_SESSION["nombre"]=$user_nom;
  12.                 print "<script>window.location='../index.php';</script>";                
  13.             }

Pues listo y luego podras colocar el:
Código PHP:
Ver original
  1. <?php echo 'Hola '.$_SESSION["nombre"];?>
donde desees colocar siempre que exista una sesion abierta
__________________
___________________________
Si te ayudo mi respuesta dale al +1

Última edición por juancaalbarracin; 09/03/2016 a las 00:29 Razón: fallo del codigo
  #9 (permalink)  
Antiguo 09/03/2016, 00:34
Avatar de polarubi  
Fecha de Ingreso: noviembre-2008
Mensajes: 243
Antigüedad: 15 años, 5 meses
Puntos: 2
Pregunta Respuesta: mostrar dato segun registro

Cita:
Iniciado por juancaalbarracin Ver Mensaje
manteniendo tu logica debera ser algo como
Código PHP:
Ver original
  1. while ($r=$query->fetch_array()) {
  2.                 $user_id=$r["id"];
  3.                 $user_nom=$r["nombre"];//lo de nombre dependera de como lo tengas en tu db
  4.                 break;
  5.             }
  6.             if($user_id==null){
  7.                 print "<script>alert(\"Acceso invalido.\");window.location='../login.php';</script>";
  8.             }else{
  9.                 session_start();
  10.                 $_SESSION["user_id"]=$user_id;
  11.                 $_SESSION["nombre"]=$user_nom;
  12.                 print "<script>window.location='../index.php';</script>";                
  13.             }

Pues listo y luego podras colocar el:
Código PHP:
Ver original
  1. <?php echo 'Hola '.$_SESSION["nombre"];?>
donde desees colocar siempre que exista una sesion abierta
Gracias genio ya lo logré

Etiquetas: dato, registro
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:10.