Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2011, 05:22
arts
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 16 años, 5 meses
Puntos: 2
Paso de variables via Sesiones

Tengo dudas sobre este tema actualmente tengo lo siguiente, no se com propagar la variable $_SESSION['usuario'] y $_SESSION['nivel'] a otras páginas por ahora he podido pasarla a otro archivo mas llamado panelAdmin que le llega de aplicacion.php, pero esque de este archivo hay que volver a pasarlo a otra pagina mas y no se porque pero no me funciona de nuevo el mismo metodo para pasarla.

Código PHP:
Ver original
  1. autenticacion.php
  2.  
  3. <?php
  4. //Conectando a base de datos
  5. $con = mysql_connect("localhost", "root", "")
  6. or die("<h3>No se ha podido establecer conexión con el servidor.</h3>");
  7.  
  8. mysql_select_db("pruebas") or die("<h3>La base de datos no se ha encontrado</h3>");
  9. //generando la consulta sobre el usuario y su contrasena
  10. $qr = "SELECT usuario, password, nombre, apellidos, nivel ";
  11. $qr .= "FROM usuarios WHERE usuario = '" . $_POST['usuario'];
  12. $qr .= "' AND password = '" . $_POST['contrasena'] . "'";
  13. //ejecutando la consulta
  14. $rs = mysql_query($qr);
  15. $row = mysql_fetch_object($rs);
  16. //verificando si hay un usuario con ese password mediante numrows
  17. $nr = mysql_num_rows($rs);
  18.  
  19. if($nr == 1){
  20. //usuario y contraseña válidos
  21. //se define una sesion y se guarda el dato session_start();
  22. $_SESSION["autenticado"] = "si";
  23. $_SESSION["usuario"] = $_POST['usuario'];
  24. $_SESSION["nombreusr"] = $row->nombre . " " . $row->apellido;
  25. $_SESSION['nivel'] = $row->nivel;
  26. header ("Location: aplicacion.php?nivel=$_nivel");
  27. }else if($nr <= 0) {
  28. //si no existe se va a admin.php y pone el valor de error a SI
  29. header("Location: admin.php?errorusuario=si");
  30. } ?>
  31.  
  32.  
  33.  
  34. admin.php
  35.  
  36. <?php
  37. // Desactivar toda notificación de errores
  38. if ($_GET["errorusuario"]=="si"){
  39. ?>
  40. <font color="red"><b>Datos incorrectos</b></font>
  41. <?php
  42. }else{
  43.  
  44. ?>
  45.  
  46. <?php
  47. }
  48.  
  49. ?>
  50. <form action="autenticacion.php" method="POST">
  51. <table border="0">
  52. <tr>
  53. <td>Nombre de usuario </td>
  54.  
  55. <td><input name="usuario" size="25" value="" /></td>
  56. </tr>
  57. <tr>
  58. <td>Contraseña </td>
  59.  
  60. <td><input name="contrasena" size="25" type="password" /></td>
  61. </tr>
  62. <tr>
  63. <td></td><td><input type="submit" value="Inicio de sesión" /></td>
  64.  
  65.  
  66. seguridad.php
  67.  
  68. <?php
  69. //Inicio la sesión
  70. //COMPRUEBA QUE EL USUARIO ESTA AUTENTIfiCADO
  71. if ($_SESSION["autenticado"] == "si" or $_SESSION["autenticado"] == "") {
  72. }else{
  73. //si el usuario no está autenticado
  74. //redirigirlo a la página de inicio de sesión
  75. header("Location: admin.php");
  76. //salimos de este script
  77. exit();
  78. }
  79.  
  80. ?>
  81.  
  82. aplicacion.php
  83.  
  84. <?php
  85.  
  86. include "seguridad.php";
  87.  
  88. if ($_SESSION['nivel'] == 'premium'){
  89. echo ('Autentificado usuario con nivel premium');
  90. echo 'pag principal para los premium necesario include indicando pag';
  91.  
  92. }else if($_SESSION['nivel'] == 'standard'){
  93. echo ('Autentificado usuario con nivel standard');
  94. echo 'pag principal para los standard necesario include indicando pag';
  95.  
  96. }else if($_SESSION['nivel'] == 'superadmin'){
  97. $nivel = $_SESSION['nivel'];
  98. $usuario = $_SESSION['usuario'];
  99. header("Location: panelAdmin.html?nivel=$nivel&usuario=$usuario");
  100.  
  101. }else{
  102. header("Location: admin.php");
  103. }
  104. ?>