FOROS DE INFORMATICA
Noticias: Habilitada la opción de Karma para usuarios con más de 50 mensajes
 
*
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
Julio 23, 2017, 05:41:07


Ingresar con nombre de usuario, contraseña y duración de la sesión


Páginas: [1]
  Imprimir  
Autor Tema: Ayuda por favor  (Leído 245 veces)
jose4lfredo
Nuevo
*

Karma:0
Desconectado Desconectado

Mensajes: 1


« : Mayo 05, 2017, 03:26:39 »

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:


<?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_ERRMODE, PDO::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>';
}
?>


A tráves de este código se ingresa al sistema:

<?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');
}
?>


Este es el header y la navbar, donde quiero mostrar el nombre y el apellido del usuario (justo acá @USUARIO@)

<?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>


Este es el index:

<?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>


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...

<?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;
   }
}
?>


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

CREATE TABLE IF NOT EXISTS `usuarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ci` varchar(Cool 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


SI pueden ayudarme con este inconveniente se los agradeceria mucho.

Hasta luego y gracias, de antemano.
En línea
Páginas: [1]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.13 | SMF © 2006-2009, Simple Machines LLC

XHTML 1.0 válido! CSS válido! Dilber MC Theme by HarzeM