Foros del Web » Programando para Internet » PHP »

No doy en la tecla con los resultados

Estas en el tema de No doy en la tecla con los resultados en el foro de PHP en Foros del Web. Hola amigos, acá les traigo un problema que no me doy cuenta el error: Les dejo el script de un archivo que procesa datos de ...
  #1 (permalink)  
Antiguo 14/07/2014, 20:59
Avatar de jimadri  
Fecha de Ingreso: julio-2006
Ubicación: Buenos Aires
Mensajes: 487
Antigüedad: 17 años, 10 meses
Puntos: 1
No doy en la tecla con los resultados

Hola amigos, acá les traigo un problema que no me doy cuenta el error:

Les dejo el script de un archivo que procesa datos de un formulario de login.
Probé haciendo ECHO y recibe perfectamente los datos.

Mi problema empieza cuando utilizo if ($numero > 1) para hacer el while porque no me muestra lo que tengo en el ECHO.


Código PHP:
<?php
// RECOJO LOS VALORES LOS FORMULARIO
$user $_POST["user"];
$pass $_POST["pass"];
$ip_local $_POST["ip"];

// CONEXION DB
include ("cnx.php");

//CONSULTA SEGUN USER
$sql "SELECT * FROM usuario WHERE nick = '$user'";
$result mysql_query($sql);
$numero mysql_num_rows($result);
    
if (
$numero 1){
    
while (
$query_data mysql_fetch_array($result_usuario))
       {
     
$id $query_data['id'];
     
$nick $query_data['nick'];
     
$ip_db $query_data['ip'];
     
$pass_db $query_data['pass'];
     
$nombre $query_data['nombre'];
     
$apellido $query_data['apellido'];
     }
     
     echo 
"Bienvenido: $apellido, $nombre ($nick)";
     
    }
?>
  #2 (permalink)  
Antiguo 14/07/2014, 21:13
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: No doy en la tecla con los resultados

Trata con esto:
Primero yo quitaría "$numero = mysql_num_rows($result);" y haría lo siguiente:
Código PHP:
Ver original
  1. if ($query_data = mysql_fetch_array($result)) {
  2.      $id = $query_data['id'];
  3.      $nick = $query_data['nick'];
  4.      $ip_db = $query_data['ip'];
  5.      $pass_db = $query_data['pass'];
  6.      $nombre = $query_data['nombre'];
  7.      $apellido = $query_data['apellido'];
  8. }
  9.      
  10.      echo "Bienvenido: $apellido, $nombre ($nick)";
Suerte!
__________________
...Si quieres que tu código funcione y tienes errores, borra todo y vuelve a empezar...
  #3 (permalink)  
Antiguo 14/07/2014, 21:18
Avatar de jimadri  
Fecha de Ingreso: julio-2006
Ubicación: Buenos Aires
Mensajes: 487
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: No doy en la tecla con los resultados

Gracias por la ayuda. Lo modifiqué así.


Código PHP:
Ver original
  1. <?php
  2. // RECOJO LOS VALORES LOS FORMULARIO
  3. $user = $_POST["user"];
  4. $pass = $_POST["pass"];
  5. $ip_local = $_POST["ip"];
  6.  
  7. // CONEXION DB
  8. include ("cnx.php");
  9.  
  10. //CONSULTA SEGUN USER
  11. $sql = "SELECT * FROM usuario WHERE nick = '$user'";
  12. $result = mysql_query($sql);
  13. $numero = mysql_num_rows($result);
  14.  
  15. if($numero >=1) {
  16.    
  17. while ($query_data = mysql_fetch_array($result))
  18.      {
  19.      $id = $query_data['id'];
  20.      $nick = $query_data['nick'];
  21.      $ip_db = $query_data['ip'];
  22.      $pass_db = $query_data['pass'];
  23.      $nombre = $query_data['nombre'];
  24.      $apellido = $query_data['apellido'];
  25.      }
  26.      
  27.      echo "Bienvenido: $apellido, $nombre ($nick)";
  28. }
  29. ?>
  #4 (permalink)  
Antiguo 14/07/2014, 21:38
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: No doy en la tecla con los resultados

Os recomiendo que tengais mucho cuidado a la hora de recoger directamente por post y pasar a la query porque os pueden hacer una sql injection y dejaros fritos.

Al menos antes de meter en la query si la has cerrado con comilla simple, quita las comillas simples de la variable. o usa un simple addslashes.

Saludos

Etiquetas: formulario, mysql, resultados, select, sql, tecla
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:13.