Foros del Web » Programando para Internet » PHP »

PHP OO Error al imprimir un dato Mysql a PHP

Estas en el tema de Error al imprimir un dato Mysql a PHP en el foro de PHP en Foros del Web. Hola mi duda es la siguiente: Quiero llamar a un número que está almacenado en un usuario en mi base de datos de Mysql, cuando ...
  #1 (permalink)  
Antiguo 26/03/2014, 09:44
Avatar de Landa11  
Fecha de Ingreso: febrero-2014
Ubicación: En algún lugar de mi oficina
Mensajes: 148
Antigüedad: 10 años, 4 meses
Puntos: 1
Pregunta Error al imprimir un dato Mysql a PHP

Hola mi duda es la siguiente:

Quiero llamar a un número que está almacenado en un usuario en mi base de datos de Mysql, cuando hace la conexión del usuario en la página principal me muestra el nombre del usuario conectado pero quiero saber también qué número tiene, si es 1 es Admin y si es 2 es usuario pero al momento de llamarlo me sale una "S"

Dejo mi código para ver si me pueden orientar, sé que estoy llamando mal los datos desde mi SELECT o guardarlos mal en una arreglo pero si me gustaría que me guiaran en este problema.

Gracias
Este es el login para autentificar al usuario:
Código PHP:
Ver original
  1. <html>
  2. <head>
  3. </head>
  4. <?php
  5. require_once('funciones.php');
  6. conectar('localhost','root','','almacenaje');
  7. $user = strip_tags($_POST['user']);
  8. $pass = strip_tags(sha1($_POST['pass']));
  9.  
  10. $query = @mysql_query('SELECT * FROM datos WHERE user="'.mysql_real_escape_string($user).'" AND pass="'.mysql_real_escape_string($pass).'"');
  11. if($existe = @mysql_fetch_object($query))
  12. {
  13.     $_SESSION['logged'] = 'yes';
  14.     $_SESSION[user] = $user;
  15.     echo '<script>window.location = "logeado.php"</script>';
  16. }
  17. else
  18. {
  19.     echo '<center>El usuario Y/O Password son incorrectos</center>';
  20. }
  21.  
  22. /*AQUI ES DONDE HAGO MI CONSULTA Y GUARDO EL DATO DEL NUMERO QUE NECESITO JALAR A MI PAGINA PRINCIPAL*/
  23.  
  24. //$consulta = ('SELECT id_tipousario FROM datos INNER JOIN tipousuario ON datos id_user = id_user WHERE user="'.$user.'" AND pass = "'.$pass.'"');
  25.  
  26. //$consulta = ('SELECT id_tipousuario FROM datos WHERE id_tipousuario = "'.mysql_[/PHP]real_escaper_string($id_tipousuario).'"');
  27.  
  28. $consulta =@mysqli_query('SELECT id_tipousuario FROM datos WHERE id_tipousuario = "'.mysql_real_escape_string($id_tipousuario).'"');
  29. if($existente = @mysql_fetch_object($consulta))
  30. {
  31. $_SESSION[tipouser] = $id_tipousuario;
  32. }
  33. //$resultado = $consulta['user'];
  34. //$_SESSION['autenticado']='yes';
  35. //$_SESSION['uid']=$uid;
  36. ?>
  37. <body>
  38. <title>.::Loggin PHP::.</title>
  39. <br />
  40. <form action="login.html" method="post">
  41. <center><input type="submit" name="button" value="Ingresar a Login" formaction="login.html"></center>
  42. </form>
  43. </body>
  44. </html>

Esta es la página principal:
Código PHP:
Ver original
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
  5. <link href="../SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css">
  6. </script>
  7. <meta charset="utf-8">
  8. <title>.::Página Principal::.</title>
  9. <?php
  10. if($_SESSION['logged'] != 'yes')
  11. {
  12.     header("Location: login.html");
  13.     exit();
  14. }
  15. ?>
  16. </head>
  17. <body topmargin="0">
  18. <table align="right" width="350px" border="0">
  19. <tr>
  20. <td width="100px" align="right">Bienvenido <b><?php echo ''.$_SESSION['user']?></b></td>
  21. <td width="15px" align="center">
  22. <a href="terminado.php">Cerrar Sesion</a>
  23. </td>
  24. </tr>
  25. </table>
  26. <?php
  27. echo 'Permiso de usuario: '.$_SESSION['tipouser'];
  28. ?>
  29. <br /><br />
  30. <h2 align="center">Pantalla Principal</h2>
  31. <body>
  32. <h1>Menu Principal</h1>
  33.  
  34. <hr><form name="menu" method="post" action="">
  35. <ul id="MenuBar1" class="MenuBarHorizontal">
  36.   <li><a class="MenuBarItemSubmenu" href="#">Elemento 1</a>
  37.     <ul>
  38.       <li><a href="#">Elemento 1.1</a></li>
  39.       <li><a href="#">Elemento 1.2</a></li>
  40.       <li><a href="#">Elemento 1.3</a></li>
  41.     </ul>
  42.   </li>
  43.   <li><a href="#">Elemento 2</a></li>
  44.   <li><a class="MenuBarItemSubmenu" href="#">Elemento 3</a>
  45.     <ul>
  46.       <li><a class="MenuBarItemSubmenu" href="#">Elemento 3.1</a>
  47.         <ul>
  48.           <li><a href="#">Elemento 3.1.1</a></li>
  49.           <li><a href="#">Elemento 3.1.2</a></li>
  50.         </ul>
  51.       </li>
  52.       <li><a href="#">Elemento 3.2</a></li>
  53.       <li><a href="#">Elemento 3.3</a></li>
  54.     </ul>
  55.   </li>
  56.   <li><a href="#">Elemento 4</a></li>
  57. </ul>
  58. <p>&nbsp;</p>
  59. <p>
  60.   <script type="text/javascript">
  61. var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"../SpryAssets/SpryMenuBarDownHover.gif", imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
  62.   </script>
  63. <br />
  64. <br />
  65. <br />
  66. <hr><form [/PHP]name="menu" method="post" action="">
  67.     <h3>Menu panel de control</h3>
  68.     <table width="200" border="1">
  69.     <tr>
  70.     <td><input type="submit" name"button" id="button" value="Insertar Usuario" formaction="registro.html"></td>
  71.     <td><input type="submit" name="button2" id="button2" value="Consulta de usuarios" formaction="consulta.html"></td>
  72.     <td><input type="submit" name="button3" id="button3" value="Modificar/Eliminar Usuario" formaction="consultas.php"></td>
  73.     <td><input type="submit" name="button4" id="button4" value="Permisos para Usuarios" formaction="permisoini.php"></td>
  74.     <td><input type="submit" name="button3" id="button3" value="Terminar sesion" formaction="terminado.php"></td>
  75.    
  76.     </tr>
  77.     </table>
  78.     <pre>
  79.     </form>
  80. <hr>
  81. </body>
  82. </html>
__________________
Ayudando a la gente con nuestros códigos para poder tener el conocimiento adecuado y ser libres!
  #2 (permalink)  
Antiguo 26/03/2014, 12:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 10 meses
Puntos: 2237
Respuesta: Error al imprimir un dato Mysql a PHP

Tienes un verdadero relajo en tu script, porque después de crear las variables de sesión haces una redirección con Javascript y no estoy muy seguro de que lo que viene después siga ejecutándose.

Aparte, en la consulta usas una variable $id_tipousuario que no se ve dónde definiste, pero como tienes una @ al ejecutar la consulta no podrás ver si hay error o no.

También creo que necesitas aprender un poco sobre base de datos y uso de JOIN.

Muestra la estructura de tus tablas y la relación que hay entre ellas para obtener el tipo de usuario; así será más fácil tratar de ayudarte.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/03/2014, 10:39
Avatar de Landa11  
Fecha de Ingreso: febrero-2014
Ubicación: En algún lugar de mi oficina
Mensajes: 148
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Error al imprimir un dato Mysql a PHP

Cita:
Iniciado por Triby Ver Mensaje
Tienes un verdadero relajo en tu script, porque después de crear las variables de sesión haces una redirección con Javascript y no estoy muy seguro de que lo que viene después siga ejecutándose.

Aparte, en la consulta usas una variable $id_tipousuario que no se ve dónde definiste, pero como tienes una @ al ejecutar la consulta no podrás ver si hay error o no.

También creo que necesitas aprender un poco sobre base de datos y uso de JOIN.

Muestra la estructura de tus tablas y la relación que hay entre ellas para obtener el tipo de usuario; así será más fácil tratar de ayudarte.
Hola Triby:

Mira tengo dos tablas en mysql, una que es donde guardo los datos que corresponde al usuario.

1. ID usuario
2. Nombre usuario
3. Contraseña
4. IP
5. ID tipo usuario

En la segunda tabla tengo dos datos que son

1. ID tipo usuario (1 o 2)
2. tx_tipousuario (especifico si es administrador o usuario normal)

Ya puedo validar el acceso de los usuarios con su nombre y contraseña, pero me gustaría también poder validar con el ID designado, que lo elijan para que puedan ver ciertos menus en la página principal, pero quise meter un textbox o una lista y no puedo extraer esos datos con el post o acaso la sentencia escrita en HTML no es la correcta.

Gracias por tu ayuda!!!!!
__________________
Ayudando a la gente con nuestros códigos para poder tener el conocimiento adecuado y ser libres!
  #4 (permalink)  
Antiguo 29/03/2014, 13:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 10 meses
Puntos: 2237
Respuesta: Error al imprimir un dato Mysql a PHP

No necesitas otra consulta, incluso si requieres obtener tx_tipousuario, en ese caso usarías un JOIN... pero como solo hay dos tipos, entonces tampoco lo veo necesario por el momento:

Código PHP:
Ver original
  1. $query = @mysql_query('SELECT * FROM datos WHERE user="'.mysql_real_escape_string($user).'" AND pass="'.mysql_real_escape_string($pass).'"');
  2. if($row = @mysql_fetch_assoc($query)) {
  3.     $_SESSION['logged'] = 'yes';
  4.     $_SESSION['user'] = $user;
  5.     // Ya leíste el registro de usuarios, aquí mismo tienes los datos
  6.     $_SESSION['tipouser'] = $row['id_tipousuario']; // El valor es 1 o 2
  7.     echo '<script>window.location = "logeado.php"</script>';
  8. } else {
  9.     echo '<center>El usuario Y/O Password son incorrectos</center>';
  10. }

Suponiendo que necesites saber el tipo de usuario, tienes dos opciones:

a) Analizar el valor de $_SESSION['tipouser'] y mostrar "Administrador" o "Usuario" dependiendo del valor

b) Extraerlo desde la tabla correspondiente con un JOIN y agregarlo a variables de sesión; solo necesitas cambiar la consulta a:

Código MySQL:
Ver original
  1. SELECT d.*, t.tx_tipousuario FROM datos d
  2. JOIN tipo_usuarios t ON d.id_tipousuario = t.id_tipousuario
  3. WHERE d.user = '...' AND d.pass = '...'

No olvides cambiar los ... por el valor correspondiente
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 29/03/2014, 13:16
Avatar de Landa11  
Fecha de Ingreso: febrero-2014
Ubicación: En algún lugar de mi oficina
Mensajes: 148
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Error al imprimir un dato Mysql a PHP

Muchas gracias Amigo Triby, justo lo que necesitaba un buen ejemplo pues ando perdido y un poco bloqueado.

Analizaré tu respuesta y lo aplicaré a mi código y te aviso que tal salió el cambio.
__________________
Ayudando a la gente con nuestros códigos para poder tener el conocimiento adecuado y ser libres!

Etiquetas: html5, mysql+consulta, mysql+php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:00.