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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema con PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Problema con PHP  (Leído 3,505 veces)
Feedeex

Desconectado Desconectado

Mensajes: 173


Ver Perfil
Problema con PHP
« en: 4 Diciembre 2010, 03:19 am »

Código:
<?php
include ("conexion.php");
include ("pvpgn_hash.php");
$usuario = strtolower(trim($_POST['usuario']));
$password = strtolower(pvpgn_hash(trim($_POST['password'])));
if ($usuario == "" | $password == "") {
 die();
 } else {
  $consulta = mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
  if (mysql_num_rows($consulta) > 0) {
    while ($row = mysql_fetch_array($consulta)) {
$acct_username = $row['acct_username'];
if ($acct_username == $usuario) {
  $acct_password = $row['acct_passhash1'];
  if ($acct_password == $password) {
   session_start();
   $_SESSION['usuario'] = $usuario;
   $email = $row['acct_email'];
   $_SESSION['email'] = $email;
    header("Location: index.php");
   } else{
   header("Location: index.php?error=1");
   }
} else {
header("Location: index.php?error=0");
   }
  }
 }
}

Funcionar funciona bien, el problema está en que debería redireccionar:

• Si el usuario no existe.
• Si el pass no es correcto.
• Si se produjo el login satisfactoriamente creando una sesión.

Bueno, no me funciona ninguno de los 3 headers, simplemente se queda en la página en blanco.


En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Problema con PHP
« Respuesta #1 en: 4 Diciembre 2010, 13:57 pm »

Código
  1. if (($usuario=="") || ($password==""))
  2.  


En línea

Feedeex

Desconectado Desconectado

Mensajes: 173


Ver Perfil
Re: Problema con PHP
« Respuesta #2 en: 4 Diciembre 2010, 14:09 pm »

Hola pablomi, ya había pensado en esa parte pero no es el problema. Sino solo haría un die(); cuando no se pone ni user ni password, y poniendo ambos igual finaliza con un die  :-(
En línea

seele

Desconectado Desconectado

Mensajes: 137


Ver Perfil
Re: Problema con PHP
« Respuesta #3 en: 4 Diciembre 2010, 17:21 pm »

a lo que se refiere pablomi es que pusiste mal el || en la comparacion, pusiste esto

Código
  1. if ($usuario == "" | $password == "")

sobre tu problema te recomiendo empezar a debugear, empieza a poner echo o print_r dentro de cada condicional para saber donde entra y donde no

saludos
En línea

Feedeex

Desconectado Desconectado

Mensajes: 173


Ver Perfil
Re: Problema con PHP
« Respuesta #4 en: 4 Diciembre 2010, 18:01 pm »

Hola, gracias por responder. Probé así:

Código:
<?php
include ("conexion.php");
include ("pvpgn_hash.php");
$usuario = strtolower(trim($_POST['usuario']));
$password = strtolower(pvpgn_hash(trim($_POST['password'])));
  $consulta = mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
  if (mysql_num_rows($consulta) > 0) {
    while ($row = mysql_fetch_array($consulta)) {
$acct_username = $row['acct_username'];
if ($acct_username == $usuario) {
echo "Usuario correcto.";
  $acct_password = $row['acct_passhash1'];
  if ($acct_password == $password) {
   echo "Contraseña correcta.";
   session_start();
   $_SESSION['usuario'] = $usuario;
   $email = $row['acct_email'];
   $_SESSION['email'] = $email;
    header("Location: index.php");
   } else{
   echo "Contraseña incorrecta.";
   header("Location: index.php?error=1");
   }
} else {
echo "Usuario incorrecto.";
header("Location: index.php?error=0");
   }
  }
 }

Pero sigue finalizando en blanco, sin mostrar absolutamente ningún echo  :huh:
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Problema con PHP
« Respuesta #5 en: 4 Diciembre 2010, 18:23 pm »

Podías ir haciendo caso a lo que te dijo seele, debuggea:
Código
  1. <?php
  2. include ("conexion.php");
  3. include ("pvpgn_hash.php");
  4. $usuario = strtolower(trim($_POST['usuario']));
  5. $password = strtolower(pvpgn_hash(trim($_POST['password'])));
  6. $consulta = mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
  7. if (mysql_num_rows($consulta) > 0) {
  8.    while ($row = mysql_fetch_array($consulta)) {
  9. $acct_username = $row['acct_username'];
  10. if ($acct_username == $usuario) {
  11. echo "Usuario correcto.";
  12. $acct_password = $row['acct_passhash1'];
  13. if ($acct_password == $password) {
  14. echo "Contraseña correcta.";
  15. $_SESSION['usuario'] = $usuario;
  16. $email = $row['acct_email'];
  17. $_SESSION['email'] = $email;
  18. header("Location: index.php");
  19. } else{
  20. echo "Contraseña incorrecta.";
  21. header("Location: index.php?error=1");
  22. }
  23. } else {
  24. echo "Usuario incorrecto.";
  25. header("Location: index.php?error=0");
  26. }
  27. }
  28. } else die("No paso el mysql_num_rows");
  29. ?>

Pero el caso, es que si has puesto algo en el HTML ya no podrás utilizar header().

Tienes que redireccionar de otra forma, por ejemplo, javascript.
En línea

Feedeex

Desconectado Desconectado

Mensajes: 173


Ver Perfil
Re: Problema con PHP
« Respuesta #6 en: 4 Diciembre 2010, 18:27 pm »

Podías ir haciendo caso a lo que te dijo seele, debuggea:
Código
  1. <?php
  2. include ("conexion.php");
  3. include ("pvpgn_hash.php");
  4. $usuario = strtolower(trim($_POST['usuario']));
  5. $password = strtolower(pvpgn_hash(trim($_POST['password'])));
  6. $consulta = mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
  7. if (mysql_num_rows($consulta) > 0) {
  8.    while ($row = mysql_fetch_array($consulta)) {
  9. $acct_username = $row['acct_username'];
  10. if ($acct_username == $usuario) {
  11. echo "Usuario correcto.";
  12. $acct_password = $row['acct_passhash1'];
  13. if ($acct_password == $password) {
  14. echo "Contraseña correcta.";
  15. $_SESSION['usuario'] = $usuario;
  16. $email = $row['acct_email'];
  17. $_SESSION['email'] = $email;
  18. header("Location: index.php");
  19. } else{
  20. echo "Contraseña incorrecta.";
  21. header("Location: index.php?error=1");
  22. }
  23. } else {
  24. echo "Usuario incorrecto.";
  25. header("Location: index.php?error=0");
  26. }
  27. }
  28. } else die("No paso el mysql_num_rows");
  29. ?>

Pero el caso, es que si has puesto algo en el HTML ya no podrás utilizar header().

Tienes que redireccionar de otra forma, por ejemplo, javascript.

Comprendo, pero saldría un error de PHP haciendo referencia al header. Y no es lo que sucede, porque ni siquiera llega a los headers :-\
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Problema con PHP
« Respuesta #7 en: 4 Diciembre 2010, 18:32 pm »

Debuggea, prueba a quitar los headers y cambia los echo por die
En línea

Feedeex

Desconectado Desconectado

Mensajes: 173


Ver Perfil
Re: Problema con PHP
« Respuesta #8 en: 4 Diciembre 2010, 18:46 pm »

Uhmm, es muy raro esto. Debuggue así:

Código:
<?php
include ("conexion.php");
include ("pvpgn_hash.php");
$usuario = strtolower(trim($_POST['usuario']));
$password = strtolower(pvpgn_hash(trim($_POST['password'])));
  $consulta = mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
  if (mysql_num_rows($consulta) > 0) {
    while ($row = mysql_fetch_array($consulta)) {
$acct_username = $row['acct_username'];
if ($acct_username == $usuario) {
die("Usuario incorrecto");
  $acct_password = $row['acct_passhash1'];
  if ($acct_password == $password) {
   die("Contraseña correcta");
   session_start();
   $_SESSION['usuario'] = $usuario;
   $email = $row['acct_email'];
   $_SESSION['email'] = $email;
   } else{
   die("Contraseña incorrecta");
   }
} else {
die("Usuario incorrecto");
   }
  }
 }

Y nada sigue finalizando en blanco :rolleyes:
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Problema con PHP
« Respuesta #9 en: 4 Diciembre 2010, 19:25 pm »

Pon else para el primer if
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema BlueZScanner y problema de conexión
Hacking Mobile
Kasswed 3 6,316 Último mensaje 6 Mayo 2006, 22:04 pm
por Gospel
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines