Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/02/2010, 11:16
elgatohva
 
Fecha de Ingreso: diciembre-2005
Mensajes: 9
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Problemas con variables de sesion

Gracias morior, asi si funciona... pero el problema es que en mi codigo no se porque no va... :(

Te paso el codigo de los dos archivos:

login.php
Código PHP:
<?php

$dbhost
='localhost';
$dbusername='angelpdi_admin';
$dbuserpass=XXXXXX;
$dbname='xxxxxxx;
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('
Cannot select database');


if ($_POST['
username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['
username'];
$password=$_POST['
password'];

if ($password==NULL) {
echo "<center>Intrduce la contraseña<center>";
}else{
$query = mysql_query("SELECT usuario,pass FROM apuntes_usuarios WHERE usuario = '
$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['
pass'] != $password) {
echo "<center>Error en usuario y/o contraseña.<center>";
}else{
$query = mysql_query("SELECT usuario,pass,nivel FROM apuntes_usuarios WHERE usuario = '
$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['
usuario'];
//header("Location: acceso.php");
        // Iniciamos las sesion
        session_start();
        // Creamos una variable de session que se llame "autentificado"
        $_SESSION["autentificado"]="si";
        $_SESSION["test"]="HOLA"; //esta es la que me falla y en la que quiero almacenar el nivel de acceso del usuario
        $_SESSION["user"]=$row['
usuario'];
    
switch($row['
nivel'])
{

case '
grupo1': header("Location: apuntes_g1.php");break;
case '
grupo2': header("Location: apuntes_g2.php");break;
case '
admin': header("Location: control.php");break;
}

}
}
}
?>
<html>
<link href="images/estilo.css" rel="stylesheet" type="text/css">
<body>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Alquinatura | Apuntes</title>
</head>

<body>
<center>
<h1>Acceso de usuarios</h1>
    <center>
        <form action='
login.php' method='POST'>
<table class="camporegistro" >
<tr>
<td align='
right'>
Nombre de usuario: <input type='
text' size='15' maxlength='25' name='username'>
</td>
</tr>
<tr>
<td align='
right'>
Contrase&ntilde;a: 
  <input type='
password' size='15' maxlength='25' name='password'>
</td>
</tr>
<tr>
<td align='
center>
<
input type="submit" value="Entrar">
<
input type="reset" value="Borrar">
</
td>
</
tr>
</
table>
</
form>
</
html>
Una vez logueado y dependiendo del nivel logea a apuntes_g1.php (donde quiero leer ese nivel para asegurarme de que el usuario tiene derecho a acceder a esa pagina

Código PHP:
<?
session_start
(); 
if (isset(
$_SESSION['test'])) 

        echo 
"Variable test registrada"

else 

        echo 
"Variable test NO registrada"


if (isset(
$_SESSION['user'])) 

        echo 
"<br>Variable user registrada"

else 

        echo 
"Variable user NO registrada"

       echo 
"<br>"
       echo  
$_SESSION["autentificado"]." < - autentificado<br>"
       echo  
$_SESSION["test"]." < - test<br>"


$dbhost='localhost';
$dbusername='angelpdi_admin';
$dbuserpass='H311Q589';
$dbname='angelpdi_blogalqui';

// Conectar a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');


//$username=$_POST['username'];
$username="admin";
$query mysql_query("SELECT usuario,pass,nivel FROM apuntes_usuarios WHERE usuario = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);


// Comprobamos primeramente si es una session autentificada por algun usuario.
if ($_SESSION["autentificado"] != "si") {
    
// Como no es un usario que halla iniciado sesion, lo mando a una página de error.
    
header("Location: login.php");
    exit();
    }

?>  
<?php

setlocale
(LC_ALL,'es_ES');
define("CHARSET""iso-8859-1"); 
//echo strftime("%A %d de %B del %Y");
 

require_once ('grupo1.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Alquinatura | Apuntes Grupo 1</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="browse.js"></script>
    <style type="text/css">
        h1 {font-family: Tahoma; font-size: 110%;font-weight: bold}
        p {font-family: Tahoma}
        a{text-decoration: none;font-family: Tahoma}
        a:link {color: #000}
        a:visited {color: #444444}
        a:hover {font-size: 110%}
        a:active {color: #000}
        .hidden {display: none;}
        .show{color: #cccccc;}
    </style>
  </head>
  <body  onload="browse('open','<?=$path?>');">
  <div id="busy" align="center">
    <h1>Para descargar haz clic con el boton derecho en el archivo y selecciona &quot;Guardar destino como ...&quot;</h1></div>
    <p align="left"><a href="cerrar.php">Desconectar</a>    
    <b>
    <span id="<?=$path?>" title="open" onclick="browse(this.title,this.id);"/><h2><?=$path?></h2></span>
    </b></p>
    <p align="left">
    <span id="<?=$path?>Info"></span>
    </p>
  </body>
</html>
espero una pronta respuesta, pues me trae loco.... gracias!!!