mostrar el nombre y el apellido del usuario logueado en el navbar

Iniciado por jose4lfredo, 5 Mayo 2017, 04:24 AM

0 Miembros y 1 Visitante están viendo este tema.

jose4lfredo

Buenas noches, sí alguien tiene la amabilidad de darme una mano.

La necesidad que tengo es mostrar el nombre y el apellido del usuario logueado en el navbar, especificamente donde coloque @USUARIO@, he googleado mucho y aún no he logrado conseguir mi objetivo.

Ante todo me disculpo por el abuso y por publicar tanto codigo aca en lugar de resumirlo, pero lo hago con el sentido en que alguno pueda visualizar algún error que pudiese haber omitido, y porque en sí todos solicitan y/o envian datos a la base de datos para este caso específico.

A tráves de este código hago la conexión con la base de datos:


Código (php) [Seleccionar]
<?php
$DB_host 
"localhost";
//$DB_host = "127.0.0.1";
$DB_user "root";
$DB_pass "1234";
$DB_name "test";
try
{
$DB_con = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass);
$DB_con->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_WARNING);
}
catch(
PDOException $e)
{
$fail"Fallo en la conexión con la BD: ".$e->getMessage();
echo '<p>'.$fail.'</p>';
//echo '<script> $(".logo").html('."\"".$fail."\"".') </script>';
}
?>
[/b]

[size=10pt]A tráves de este código se ingresa al sistema:[/size]

[b]<?php
session_start
();
require_once (
"conexion.php");
require_once (
'./fn/func.php');
$login login();
function 
verificar_login($usuario,$clave,$conexion) {
    
$sql "SELECT * FROM usuarios WHERE ci=:usuario and clave=:clave";
$consulta=$conexion->prepare($sql);
$consulta->bindParam(":usuario",trim($usuario));
$consulta->bindParam(":clave",trim($clave));
$consulta->execute();
        
$count $consulta->rowCount(); //funcion PDO para devolver el numero de la fila consultada;
    
if($count == 1){
         
$row=$consulta->fetch();
       
 $_SESSION['id'] = $row['id'];
 $_SESSION['nivel'] = $row['tipo'];
         return 
1;
}
   
else{
         return 
0;
}
$consulta=null;
}
if(!isset(
$_SESSION['nivel'])){
   if(isset(
$_POST['usuario']) and ($_POST['usuario']!="") and isset($_POST['clave']) and ($_POST['clave']!="")){
        if(
verificar_login($_POST['usuario'],$_POST['clave'],$DB_con)){
print "Cargando ... $usuario";
header('location:index.php');
        }
        else{
            
$msg'<h4 class="error"></span><span class="icon-warning" id=war></span>&nbsp;¡Datos inválidos!</h4>
            '
;
        }
    }
}else {
header('location:index.php');
}
?>
[/b]

[size=10pt]Este es el header y la navbar, donde quiero mostrar el nombre y el apellido del usuario (justo acá @USUARIO@)[/size]

[b]<?php
session_start
();
require_once (
'./fn/func.php');
$login login();
?>

     <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
     <link rel="stylesheet" href="../css/index.css">
     <link rel="stylesheet" href="../css/boots.css">
     <link rel="stylesheet" href="../css/nav.css">
     <link rel="stylesheet" href="../css/style.css">
   </head>
 <body>
   <header>
     <div class="logo">Escuela Bolivariana ''Fernando Segnini Lupi''</div>
     <div class="menu_bar">
       <a href="#" class="bt-menu"><span class="icon-add-to-list"></span></a>
     </div>
     <nav>
       <ul>
         <li><a href="./index.php"><span class="icon-home"></span>Inicio</a></li>
         <li><a href="./crud/add-data.php" id="contacto"><span class="icon-warning"></span>Registrar Incidente</a></li>
<?php if (permiso('admin',$login)){ 
echo '
<li><a href="./registro.php" id="contacto"><span class="icon-users"></span>Registrar Usuario</a></li>'
;}
?>

<li><a href="./crud/read_r.php" id="contacto"><span class="icon-open-book"></span>Historiales</a></li>
       <?php 
if ($login) { 
echo '
<li class="submenu subinfo" >
           <a href="#" id="info"><span class="icon-user"></span>'
.$_SESSION["id"].' @USUARIO@<span class="caret icon-chevron-down"></span></a>
             <ul class="children childinfo">
               <li><a href="./logout.php">Salir</a></li>
             </ul>
         </li>                  
'
;}
                else { 
echo '
         <li><a href="login.php"><span class="icon-login">Iniciar Sesión</span></a></li>
'
;}
?>
;  <!--  //Muestra logut o login segun el caso   -->
       </ul>
     </nav>
 </header>[/b]

[size=10pt]Este es el index:[/size]

[b]<?php
session_start
();
require_once (
'./fn/func.php');
$login login();
if (!isset(
$_SESSION['id'])) {
         
header('location:error.php');
         exit();
    }
?>

<!DOCTYPE HTML>
<html lang="es">
 <head>
   <meta charset="UTF-8">
   <title>Inicio</title>
   <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
   <!-- Owl Carousel Assets -->
   <link href="owl-carousel/owl.carousel.css" rel="stylesheet">
   <link href="owl-carousel/owl.theme.css" rel="stylesheet">
   <link rel="stylesheet" href="css/index.css">
   <link rel="stylesheet" href="css/contenido.css">
   <link rel="stylesheet" href="css/nav.css">
   <link rel="stylesheet" href="css/style.css">
   <style> /* Estos elementos deben de ir dentro de head da error con el validor movido*/
     #owl-demo {
       margin-top: 40px;
     }
     #owl-demo .item{
       margin: 3px;
     }
     #owl-demo .item img{
       border:1px solid #252932;
       border-radius: 2px;
       display: block;
       width: 100%;
      height: 200px;
     }
   /*RESPONSIVE */
 @media screen and (max-width: 800px) {
   #owl-demo {
           margin-top: 30px;
       }
       #owl-demo .item img{
           height: 120px;
       }
 }
 /* END RESPONSIVE */
 /*RESPONSIVE 2*/
 @media screen and (max-width: 215px) {
   #owl-demo {
           margin-top: 20px;
       }
       #owl-demo .item img{
           height: 70px;
       }
 }
 </style>
 </head>
<body>
 <?php include_once './crud/header.php'?>
<section id="main-content">
   <div class="content">
       <p style=text-align:center >
         <b>
           PROYECTO CANAIMA EDUCATIVO:
         </b>
       </p>
       <p>
         Es un proyecto del Gobierno Bolivariano que tiene por objetivo apoyar la formación integral de las niñas y los niños, mediante la
         dotación de una computadora portátil escolar con contenidos educativos a los maestros y estudiantes del subsistema de educación primaria conformado por
          las escuelas públicas nacionales, estadales, municipales, autónomas y las privadas subsidiadas por el Estado.
       </p>
       <p>
         Constituye un  pilar fundamental en la construcción del nuevo modelo educativo revolucionario, inclusivo y democrático y es factor importante en el
         alcance de la independencia tecnológica, ya que los contenidos educativos, aplicaciones y funciones son totalmente desarrollados en Software Libre por
         talento venezolano.
       </p>
       <p>
         Su ejecución está a cargo del Ministerio del Poder Popular para la Educación, conjuntamente con el Ministerio del Poder Popular para Ciencia,
         Tecnología e Innovación.
     </p>
<div id="demo">
       <div class="container">
         <div class="row">
           <div class="span12">
             <div id="owl-demo" class="owl-carousel">
               <div class="item"><img src="images/1.png" alt="Logo"></div>
               <div class="item"><img src="images/2.png" alt="Owl Image"></div>
               <div class="item"><img src="images/3.jpg" alt="Logo"></div>
               <div class="item"><img src="images/4.jpeg" alt="Owl Image"></div>
               <div class="item"><img src="images/5.jpg" alt="Logo"></div>
               <div class="item"><img src="images/6.png" alt="Owl Image"></div>
               <div class="item"><img src="images/7.jpg" alt="Logo"></div>
               <div class="item"><img src="images/8.jpg" alt="Owl Image"></div>
             </div>
           </div>
         </div>
       </div>
     </div> <!-- Demo -->
   </div>
</section>
<!-- Cargar los scritps de ultimos para cargar la pagina fast -->
   <script src="js/jquery.min.js"></script>
   <script src="owl-carousel/owl.carousel.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
         $("#owl-demo").owlCarousel({ //Carousel
         autoPlay: 2000,
         items : 4,
         itemsDesktop : [1199,3],
         itemsDesktopSmall : [979,3]
       }); //Fin Carousel
}
);
</script>
<script src="js/menu.js"></script> <!-- Anima menus -->
</body>
</html>[/b]

[size=10pt]En este archivo se llevan a cabo algunas funciones, una de ellas capaz este inferfiriendo en la duda que tengo pero no logro identificar cual...[/size]

[b]<?php
//$phplogin='location:login.php';
// 'location:../login.php'
function compare_s($string,$str2) { //compara 2 strings
if (!strcmp($string$str2)) {
return true;
}
return false;
}
function 
login($sesionvar='id'){ //Devuelve verdadero si existe el index en SESSION
  
if (isset($_SESSION[$sesionvar])) {
      return 
1;
    }
  return 
0;
}
function 
regresa ($string,$sesionvar='id'){ //regresa a donde se le indique si no se a definido el index id de SESSION
  
if (!login($sesionvar)) {
           
header($string);// ej: $string = 'location:error.php'
           
exit();
      }
return 1;//si ha iniciado sección
}
function 
permiso($nivel,$bool=true){ //Verifica si tiene o no un permiso dado string y bool login or not
    
if ($bool) { //bool true=session on
      
if (compare_s($_SESSION['nivel'],$nivel)){
        return 
1;
      }
return 0;
  }
return 0;
}
function 
verify_nivel ($redirect,$nivel='admin'){
if (!permiso($nivel)){ //si no tiene el permiso indicado redirigue '' ''
header($redirect);
}
return  1;
}
function 
verify_session($string='admin') {
  if (
regresa ($string)){ //Si no ha iniciado sesión regresa a donde c le indica
verify_nivel($string);
}
return  1;
}
function 
consulta($query,$conexion) {
  try {
$sql $query;
$consulta=$conexion->prepare($sql);
$consulta->execute();
$count $consulta->rowCount();
if($count 0){
 $row=$consulta->fetch(PDO::FETCH_ASSOC);
 $consulta=null//cierre de la conexion
 return $row;
 }
$consulta=null//cierre de la conexion
return 0;
  } catch (
PDOException $e) {
echo 'Error query fail: '.$query.'<br>';
echo 'Fallo la consulta: ' .$e->getMessage();
return false;
}
}
?>
[/b]

Por ùltimo la base de datos, bueno la tabla que esta siendo usada en este caso.

Código (sql) [Seleccionar]
CREATE TABLE IF NOT EXISTS `usuarios` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `ci` varchar(8) DEFAULT NULL,
 `nombre` varchar(50) NOT NULL,
 `apellido` varchar(50) NOT NULL,
 `clave` varchar(12) NOT NULL,
 `tipo` varchar(20) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8
[/b]

SI pueden ayudarme con este inconveniente se los agradeceria mucho.

Hasta luego y gracias, de antemano.


· Los códigos deben ir en etiquetas GeSHi
· Los titulos deben ser descriptivos
>aquí las reglas del foro
-Engel Lex

hechicerd0

guarda en sessión el nombre del usuario.

$_SESSION['nombredelusuario']; <-- Cuando lo saques de la base de datos.

en @usuario@ pones: echo $_SESSION['nombredelusuario'];

Saludos.