elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  crear una session para admin
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: crear una session para admin  (Leído 3,073 veces)
sarawlf

Desconectado Desconectado

Mensajes: 4


Ver Perfil
crear una session para admin
« en: 6 Diciembre 2011, 17:05 pm »

Me gustaría crear una sesion para el administrador, pero no se como implementarla en el codigo, alguna idea? gracias  ;)
Código
  1. <?php
  2. if (isset($_POST['userid']) && isset($_POST['password']))
  3. {
  4. //si el usuario acaba de intentr conectarse
  5. $userid = $_POST['userid'];
  6. $password = $_POST['password'];
  7.  
  8.  
  9. if (!$db_conn=mysql_connect("localhost","root","root"))
  10.   {
  11.      echo "Error conectando a la base de datos.";
  12.      exit();
  13.   }
  14.   if (!mysql_select_db("feisbook",$db_conn))
  15.   {
  16.      echo "Error seleccionando la base de datos.";
  17.      exit();
  18.   }
  19.  
  20. $query = "select * from usuarios where id='$_REQUEST[userid]' and password='$_REQUEST[password]'";
  21.  
  22.  
  23. $result=mysql_query($query,$db_conn);
  24.  
  25. if (mysql_num_rows($result)>0)
  26. if ($_REQUEST['userid'] !="administrador")
  27. {
  28. //si existe en la base de datos
  29. $_SESSION['valid_user'] = $userid;
  30. }
  31.  
  32. //if fila[rol]==admin sessoio[isadminn]=true
  33.  
  34. $db_conn->close();
  35. }
  36.  
  37. ?>
  38. <html>
  39. <body>
  40. <head>
  41. <meta http-equiv="content-type" content="text html;charset=UTF-8" />
  42. <link href="estilo.css" rel="stylesheet" type="text/css"  />
  43. </head>
  44.  
  45. <h1>Bienvenido a PCALTAGAMA venta de productos informáticos</h1>
  46. <?php
  47. if (isset($_SESSION['valid_user']))
  48. {
  49. echo ' te has logeado como: '.$_SESSION['valid_user'].'<br/>';
  50. echo '<a href="logout.php">cerrar sesion </a><br />';
  51. }
  52.  
  53.  
  54. else
  55. {
  56. if (isset($userid))
  57. {
  58. //si se han intentdo logearse y no lo han conseguido
  59. echo 'no has podido logearte';
  60. }
  61. else
  62. {
  63. //todavia no han intentdo conectarse
  64. echo 'no estas logeado';
  65. echo '<a href="formulario.php ">registrate</a>';
  66. }
  67. //proporcionando un formulario para conectarse
  68.  
  69.  
  70. echo '<div class="main">';
  71. echo '<div class="login">';
  72. echo '<form action="authmain.php" method="post">';
  73. echo '<table>';
  74. echo '<tr><td>nombre:</td>';
  75. echo '<td><input type="text" name="userid"/></td></tr>';
  76. echo '<tr><td>password:</td>';
  77. echo '<td><input type="password" name="password"/></td></tr>';
  78. echo '<tr><td colspan="2" align="center">';
  79. echo '<input type="submit" value="log in"></td></tr>';
  80. echo '</table></form>';
  81. }
  82. ?>
  83. <br>
  84. <a href="tienda.php">entra a la tienda</a>
  85.  
  86.  
  87. </body>
  88. </html>


En línea

mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: crear una session para admin
« Respuesta #1 en: 6 Diciembre 2011, 21:21 pm »

Sabes lo que esta haciendo el codigo ?

Estas poniendo if($_REQUEST[userid'] != 'administrador')... aqui estas poniendo que si el usuario no es el administrador entonces es un 'valid user', desde aqui ya no puedes hacer una sesion administrador por que tu mismo lo estas excluyendo.

En la sentencia sql, debes de poner los parametros nuevos como "'.$valor.'" ya que si no se leera mal.

Saludos


En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
sarawlf

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: crear una session para admin
« Respuesta #2 en: 6 Diciembre 2011, 21:44 pm »

es una linea que se me olvidó quitar, veras cree dos sesiones una para usuarios que no fuesen administrador y otra para administrador, mas que nada para que no se repitiese dos veces  "el te has logeado como"si me logeaba como admin. el caso es  que probe esá forma y no me funcionaba, no me cogia la sesion de admin. si me puedes dar una solucion  te lo agarecería.
En línea

xemnas

Desconectado Desconectado

Mensajes: 105


Ver Perfil
Re: crear una session para admin
« Respuesta #3 en: 7 Diciembre 2011, 16:57 pm »

así te funcionará:
Código
  1. <?php
  2. if (isset($_POST['userid']) && isset($_POST['password']))
  3. {
  4. //si el usuario acaba de intentr conectarse
  5. $userid = $_POST['userid'];
  6. $password = $_POST['password'];
  7.  
  8.  
  9. if (!$db_conn=mysql_connect("localhost","root","root"))
  10.   {
  11.      echo "Error conectando a la base de datos.";
  12.      exit();
  13.   }
  14.   if (!mysql_select_db("feisbook",$db_conn))
  15.   {
  16.      echo "Error seleccionando la base de datos.";
  17.      exit();
  18.   }
  19.  
  20. $query = "select * from usuarios where id='$_REQUEST[userid]' and password='$_REQUEST[password]'";
  21.  
  22.  
  23. $result=mysql_query($query,$db_conn);
  24.  
  25. if (mysql_num_rows($result)>0 && $userid!="administrador")
  26.  
  27. {
  28. //si existe en la base de datos
  29. $_SESSION['valid_user'] = $userid;
  30. }
  31. else {
  32. if (mysql_num_rows($result)>0 && $userid=="administrador")
  33.  
  34. $_SESSION['valid_admin'] = $userid;
  35. }
  36.  
  37. $db_conn->close();
  38. }
  39.  
  40. ?>
  41. <html>
  42. <body>
  43. <head>
  44. <meta http-equiv="content-type" content="text html;charset=UTF-8" />
  45. <link href="estilo.css" rel="stylesheet" type="text/css"  />
  46.  
  47. </head>
  48.  
  49. <h1>Bienvenido a PCALTAGAMA venta de productos informáticos</h1>
  50.  
  51. <?php
  52. if (isset($_SESSION['valid_user'])) {
  53. echo ' te has logeado como: '.$_SESSION['valid_user'].' ya puedes acceder a nuestra tienda<br/>'; }
  54.  
  55. elseif (isset($_SESSION['valid_admin'])) {
  56. echo 'te has logeado como '.$_SESSION['valid_admin'].' ya puedes acceder a nuestra tienda<br/>'; }
  57.  
  58.  
  59.  
  60. else {
  61. //todavia no han intentdo conectarse
  62. echo 'no estas logeado';
  63. echo '<a href="formulario.php ">registrate</a>';}
  64. //proporcionando un formulario para conectarse
  65.  
  66. if (!isset($_POST['userid']) && !isset($_POST['password'])) {
  67. echo '<div class="main">';
  68. echo '<div class="login">';
  69. echo '<form action="authmain.php" method="post">';
  70. echo '<table>';
  71. echo '<tr><td>nombre:</td>';
  72. echo '<td><input type="text" name="userid"/></td></tr>';
  73. echo '<tr><td>password:</td>';
  74. echo '<td><input type="password" name="password"/></td></tr>';
  75. echo '<tr><td colspan="2" align="center">';
  76. echo '<input type="submit" value="log in"></td></tr>';
  77. echo '</table></form>';
  78. }
  79. ?>
  80. <br>
  81. <a href="tienda.php">entra a la tienda</a>
  82.  
  83.  
  84. </body>
  85. </html>
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines