Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar valores de usuario mysql

Estas en el tema de Mostrar valores de usuario mysql en el foro de PHP en Foros del Web. Que tal a todos, he estado aprendiendo php, y he estado prboando un sistema de login, ha funcionado correctamente la tabala y todo solo tengo ...
  #1 (permalink)  
Antiguo 11/06/2015, 01:39
Avatar de fitojdj  
Fecha de Ingreso: agosto-2011
Ubicación: Necropolis
Mensajes: 49
Antigüedad: 12 años, 8 meses
Puntos: 0
Mostrar valores de usuario mysql

Que tal a todos, he estado aprendiendo php, y he estado prboando un sistema de login, ha funcionado correctamente la tabala y todo solo tengo una duda, con el siquiente codigo puedo mostrar el username y funciona perfecto

Código PHP:
// Configura la información de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
session_start();

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

?>

if (isset($_SESSION['s_username'])) {
echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
}else{
echo "Tu no estas autentificado dirígete a login.php o registrate en register.php";
echo $_SESSION['s_username'];
}
?> 
Pero como muestro otros datos como el email de solo el usuario que se logeo? he buscado bastantes videos y aprendi a hacers las consultas especficas pero no encontre como seleccionar solo info de la sesion/usuario activo.

Si alguien me puediera asesorar se los agradeceria mucho
  #2 (permalink)  
Antiguo 11/06/2015, 01:57
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Mostrar valores de usuario mysql

Muéstranos el código donde realiza la autentificación de usuario y establece el valor de $_SESSION['s_username'

Saludos!
  #3 (permalink)  
Antiguo 11/06/2015, 01:59
Avatar de fitojdj  
Fecha de Ingreso: agosto-2011
Ubicación: Necropolis
Mensajes: 49
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Mostrar valores de usuario mysql

Código PHP:
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';

session_start();

// Conectar a la base de datos
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 
"La password no fue enviada";
}else{
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
echo 
"Login incorrecto";
}else{
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
}
}
}
?> 
  #4 (permalink)  
Antiguo 11/06/2015, 02:00
Avatar de fitojdj  
Fecha de Ingreso: agosto-2011
Ubicación: Necropolis
Mensajes: 49
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Mostrar valores de usuario mysql

creo que ya estoy entendiendo, ahi indica row sea la misma linea del user, y asi lo identifica?
  #5 (permalink)  
Antiguo 11/06/2015, 02:15
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Mostrar valores de usuario mysql

No exactamente, mira:
Código PHP:
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
echo 
"Login incorrecto";
}else{
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username']; 
Primero comprueba el usuario y contraseña introducidos, con los datos de la base de datos. Si son incorrectos da error, y si son correctos nos define la variable
$_SESSION["s_username"] con el campo username

Lo que deberias de hacer es añadir tantas variables como campos desees, por ejemplo

Código PHP:
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
echo 
"Login incorrecto";
}else{
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
$_SESSION["s_email"] = $row['email'];
$_SESSION["s_edad"] = $row['edad']; 
He añadido las variables $_SESION['s_email'] y $_SESION['s_edad']
Para que veas un ejemplo.
Espero que te sirva ;)
  #6 (permalink)  
Antiguo 11/06/2015, 02:30
Avatar de fitojdj  
Fecha de Ingreso: agosto-2011
Ubicación: Necropolis
Mensajes: 49
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Mostrar valores de usuario mysql

ya agrege esas variables al otro php, Entonces solo tengo que sustituir asi?

Código PHP:
// Configura la información de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
session_start();

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

?>

if (isset($_SESSION['s_username'])) {
echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_email'].", gracias por la visita!";
}else{
echo "Tu no estas autentificado dirígete a login.php o registrate en register.php";
echo $_SESSION['s_username'];
}
?> 

Última edición por fitojdj; 11/06/2015 a las 02:37
  #7 (permalink)  
Antiguo 11/06/2015, 02:50
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Mostrar valores de usuario mysql

No,
De esa manera lo que estás haciendo es mostrar al usuario el siguiente mensaje:
Bienvenido a mi sitio has ingresado como [email protected] , gracias por la visita!
Para que lo veas mejor como mostrar datos.

Código PHP:
Ver original
  1. echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita! tienes ".$_SESSION['s_edad']." años y tu correo es: ".$_SESSION['s_email']."";
  #8 (permalink)  
Antiguo 12/06/2015, 15:04
Avatar de fitojdj  
Fecha de Ingreso: agosto-2011
Ubicación: Necropolis
Mensajes: 49
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Mostrar valores de usuario mysql

Algo estoy haciendo mal, subi los archivos a www.intraevo.com/logintest/

accs.php
Código PHP:
Ver original
  1. <?
  2.  // Configura la información de tu cuenta
  3. $dbhost='localhost';
  4. $dbusername='*********';
  5. $dbuserpass='***********';
  6. $dbname='**********';
  7.  
  8. // Conexión a la base de datos
  9. mysql_connect ($dbhost, $dbusername, $dbuserpass);
  10. mysql_select_db($dbname) or die('Cannot select database');
  11. ?>


login.php
Código PHP:
Ver original
  1. <?
  2. include("accs.php");
  3. ?>
  4.  
  5. <?
  6.  
  7. if ($_POST['username']) {
  8. //Comprobacion del envio del nombre de usuario y password
  9. $username=$_POST['username'];
  10. $password=$_POST['password'];
  11. if ($password==NULL) {
  12. echo "La password no fue enviada";
  13. }else{
  14. $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
  15. $data = mysql_fetch_array($query);
  16. if($data['password'] != $password) {
  17. echo "Login incorrecto";
  18. }else{
  19. $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
  20. $row = mysql_fetch_array($query);
  21. $_SESSION["s_username"] = $row['username'];
  22. $_SESSION["s_email"] = $row['email'];
  23. $_SESSION["s_Telefono"] = $row['Telefono'];  
  24. echo "Has sido logueado correctamente ".$_SESSION['s_username']." tu email es: ".$_SESSION['s_email']." y tu telefono es: ".$_SESSION['s_Telefono']."";
  25. }
  26. }
  27. }
  28. ?>

index.php
Código HTML:
Ver original
  1. <form action='login.php' method='POST'>
  2. <table style='border:0px solid #000000;'>
  3. <tr>
  4. <td align='right'>
  5. Nombre de usuario:<br />
  6. <input type='text' size='15' maxlength='25' name='username'>
  7. </td>
  8. </tr>
  9. <tr>
  10. <td align='right'>
  11. Password:<br />
  12. <input type='password' size='15' maxlength='25' name='password'>
  13. </td>
  14. </tr>
  15. <tr>
  16. <td align='center'>
  17. <input type="submit" value="Login">
  18. </td>
  19. </tr>
  20. <tr>
  21. <td align='center'>
  22. </td>
  23. </tr>
  24. </form>

  #9 (permalink)  
Antiguo 12/06/2015, 15:12
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Mostrar valores de usuario mysql

primero, para empezar con php es <?php
Segundo, en tu base de datos, tienes los campos username y password, pero también tienes los que te he puesto en el ejemplo?
Email y telefono?
  #10 (permalink)  
Antiguo 12/06/2015, 19:20
Avatar de fitojdj  
Fecha de Ingreso: agosto-2011
Ubicación: Necropolis
Mensajes: 49
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Mostrar valores de usuario mysql

Tienen sus laves php, funciona bien nel login como puedes ver. el form no tiene por que es solo el formulario , esta es la tabla

  #11 (permalink)  
Antiguo 12/06/2015, 22:21
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Mostrar valores de usuario mysql

Código PHP:
Ver original
  1. $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
  2. $row = mysql_fetch_array($query);
  3. $_SESSION["s_username"] = $row['username'];
  4. $_SESSION["s_email"] = $row['email'];
  5. $_SESSION["s_Telefono"] = $row['Telefono'];  
  6. echo "Has sido logueado correctamente ".$_SESSION['s_username']." tu email es: ".$_SESSION['s_email']." y tu telefono es: ".$_SESSION['s_Telefono']."";
  7. }
  8. }
  9. }
  10. ?>

Fijate
Código PHP:
Ver original
  1. SELECT username,password FROM users
Estás seleccionando solo username y password, por eso no te muestra ni email ni telefono.
En este caso en el SELECT tendrías que añadir los datos que quieres mostrar o poner un * así seleccionas todos los campos.
Prueba con esto

Código PHP:
Ver original
  1. <?php
  2.     include("accs.php");
  3.  
  4.      
  5.     if ($_POST['username']) {
  6.     //Comprobacion del envio del nombre de usuario y password
  7.     $username=$_POST['username'];
  8.     $password=$_POST['password'];
  9.     if ($password==NULL) {
  10.     echo "La password no fue enviada";
  11.     }else{
  12.     $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
  13.     $data = mysql_fetch_array($query);
  14.     if($data['password'] != $password) {
  15.     echo "Login incorrecto";
  16.     }else{
  17.     $query = mysql_query("SELECT * FROM users WHERE username = '$username'") or die(mysql_error());
  18.     $row = mysql_fetch_array($query);
  19.     $_SESSION["s_username"] = $row['username'];
  20.     $_SESSION["s_email"] = $row['email'];
  21.     $_SESSION["s_Telefono"] = $row['Telefono'];  
  22.     echo "Has sido logueado correctamente ".$_SESSION['s_username']." tu email es: ".$_SESSION['s_email']." y tu telefono es: ".$_SESSION['s_Telefono']."";
  23.     }
  24.     }
  25.     }
  26.     ?>
  #12 (permalink)  
Antiguo 14/06/2015, 19:23
Avatar de fitojdj  
Fecha de Ingreso: agosto-2011
Ubicación: Necropolis
Mensajes: 49
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Mostrar valores de usuario mysql

funciono!!! pero no entiendo, no veo que agregar en el select el email y el nombre, veo las variables que habia intentado y el echo de estas
  #13 (permalink)  
Antiguo 14/06/2015, 19:25
Avatar de fitojdj  
Fecha de Ingreso: agosto-2011
Ubicación: Necropolis
Mensajes: 49
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Mostrar valores de usuario mysql

al poner *, indicas que tome cualquier variable con coincida en la tabla con ese nombre correcto?

Etiquetas: mysql, select, usuario
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 18:08.