Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/06/2014, 08:39
pablos_cent
 
Fecha de Ingreso: junio-2012
Mensajes: 53
Antigüedad: 11 años, 10 meses
Puntos: 1
Problema con $_SESSION

Hola, tengo un sistema de Login y quiero que guarde algunas $_SESSION, me funcionan perfectamente la id_usuario, nick, pero al crear la de rango no me funciona, la tengo así:

Código PHP:
  // Comprobamos que los datos ingresados en el formulario coincidan con los de la BD
    
$sql mysql_query("SELECT * FROM usuarios WHERE nick='".$nick."' AND clave='".$clave."'");
    if(
$row mysql_fetch_array($sql)) {
      
$_SESSION['id_usuario'] = $row['id_usuario'];        // Creamos la sesion "id_usuario" y le asignamos como valor el campo id_usuario
      
$_SESSION['nick'] = $row["nick"];                    // Creamos la sesion "nick" y le asignamos como valor el campo nick
      
$_SESSION['rango'] = $row["rango"];                // Creamos la sesion "rango" y le asignamos como valor el campo rango
        
header("Location: /");
    } 
Mi Login.php es este:
Código PHP:
<?php
  
// Verificamos si la sesión se inicio
    
session_start();
    if(empty(
$_SESSION['nick'])) {
    echo
'
      <form action="Comprobar.php" method="post">
        <input type="text" name="nick" autocomplete="off" placeholder="Usuario">
        <input type="password" name="clave" autocomplete="off" placeholder="Contrase&ntilde;a">
        <input type="submit" name="enviar" value="Ingresar">
      </form>'
;
    } else {
      
header ('Location: /');
    }
?>
y el Comprobar.php es este:
Código PHP:
<?php
  
// Verificamos si la sesión se inicio
    
session_start();

  
// Incluimos nuestro archivo de conexión con la base de datos
    
include('Config.php');

  
// Comprobamos que se hayan enviado los datos del formulario
    
if(isset($_POST['enviar'])) {

  
// Comprobamos que los campos nick y clave no estén vacíos
    
if(empty($_POST['nick']) || empty($_POST['clave'])) {
      echo
'<a href="javascript:history.back();">El usuario o la contrase&ntilde;a no han sido ingresados, por favor intentalo nuevamente</a>';
    } else {

  
// Limpiamos los campos del formulario de posibles códigos maliciosos
    
$nick mysql_real_escape_string($_POST['nick']);
    
$clave mysql_real_escape_string($_POST['clave']);
    
$clave md5($clave);

  
// Comprobamos que los datos ingresados en el formulario coincidan con los de la BD
    
$sql mysql_query("SELECT * FROM usuarios WHERE nick='".$nick."' AND clave='".$clave."'");
    if(
$row mysql_fetch_array($sql)) {
      
$_SESSION['id_usuario'] = $row['id_usuario'];        // Creamos la sesion "id_usuario" y le asignamos como valor el campo id_usuario
      
$_SESSION['nick'] = $row["nick"];                    // Creamos la sesion "nick" y le asignamos como valor el campo nick
      
$_SESSION['rango'] = $row["rango"];                // Creamos la sesion "rango" y le asignamos como valor el campo rango
        
header("Location: /");
    } else {
    echo
'
      <a href="Login.php">Error al parecer algo anda mal, por favor intentalo nuevamente</a></div>'
;
    }
  }

  } else {
    
header('Location: Login.php');
  }
?>
Así estoy obteniendo y no resulta:
Código PHP:
<?php
include('Settings.php');
session_start();
if(isset(
$_SESSION['nick'])) {
echo
'Bienvenido '.$_SESSION["nick"].' '.$_SESSION["rango"].'';
}
?>
No entiendo que está mal, alguien que me pueda ayudar por favor