Foros del Web » Programando para Internet » PHP »

PHP OO No valida los datos

Estas en el tema de No valida los datos en el foro de PHP en Foros del Web. miren hacia un login pero no quiere validar los datos miren mi codigo html es asi: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < div class ...
  #1 (permalink)  
Antiguo 04/05/2014, 18:19
 
Fecha de Ingreso: abril-2014
Mensajes: 56
Antigüedad: 10 años
Puntos: 0
No valida los datos

miren hacia un login pero no quiere validar los datos miren mi codigo html es asi:
Código HTML:
Ver original
  1. <div class="login">
  2.         <h2>&iquest;Ya tienes Cuenta?</h2>
  3.                 <h3>Ingresa</h3>
  4.     <form action="/validar" method="get">
  5.         <span class="Aisaka">Usuario: <input name="username" type="text">
  6.         Contrase&ntilde;a: <input name="password" type="password">
  7.         <input type="submit" name="entrar" value="Entrar">
  8.             </div>
y esto le puse en validar.php
Código PHP:
Ver original
  1. include('../Kira/core.php');
  2.  
  3. function check_ban($username) {
  4.         $this->sql_start();
  5.         $q = mysql_query("SELECT * FROM bans WHERE value='".$username."' AND bantype='user' OR value = '".$_SERVER['REMOTE_ADDR']."' AND bantype = 'ip' LIMIT 1");
  6.         if(mysql_num_rows($q) < 1) {
  7.                 return false;
  8.         }else{
  9.                 return true;
  10.         }
  11.    }
  12.  
  13. function realescape($string) {
  14.    $mysql->sql_start();
  15.    $string = htmlspecialchars($string);
  16.    $string = strip_tags($string);
  17.    $string = mysql_real_escape_string($string);
  18.    $string = str_replace("<","&lt;", $string);
  19.    $string = str_replace(">","&gt;", $string);
  20.    return $string;
  21.    }
  22.  
  23.  
  24. $mysql->sql_start();
  25. if(isset($_GET['username'])) {
  26.         if(isset($_GET['password'])) {
  27.                 $username = realescape($_GET['username']);
  28.                 $password = md5($_GET['password']);
  29.                 $userexiste = mysql_query("SELECT * FROM users WHERE username='".$username."'");
  30.                 if(mysql_num_rows($userexiste) > 0) {
  31.                         if(check_ban($username)) {
  32.                                 header("location:index?error=3");
  33.                                 die;
  34.                         }
  35.                         $userinfo = mysql_query("SELECT * FROM users WHERE username='".$username."'");
  36.                         $userdata = mysql_fetch_array($userinfo);
  37.                         if($password == strtolower($userdata['password'])) {
  38.                                 $userdata = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE username='".$username."'"));
  39.                                 $_SESSION['nombre'] = $username;
  40.                                 $_SESSION['rank']   = $userdata['rank'];
  41.                                 $lastfecha = mysql_query("UPDATE users SET last_online= UNIX_TIMESTAPM(), ip_last='".$_SERVER['REMOTE_ADDR']."' WHERE usrname='".$username."'");
  42.                                 header("location:principal");
  43.                         }else{
  44.                         header("location:index?error=2");
  45.                         }
  46.                 }else{
  47.                 header("location:index?error=2");
  48.                 }
  49.         }else{
  50.         header("location:index?error=2");
  51.         }
  52. }else{
  53. header("location:index?error=2");
  54. }
  55.  
pero no valida los datos y me manda a una pagina en blanco donde dice:
http://localhost/validar?username=user&password=pass&entrar=Entrar
porque sucede esto?
  #2 (permalink)  
Antiguo 04/05/2014, 22:15
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, 8 meses
Puntos: 2237
Respuesta: No valida los datos

Código HTML:
Ver original
  1. <form action="/validar" method="get">

En el action estás especificando esa página, tal vez deba ser solo "validar", sin la diagonal o "validar.php", dependiendo de la configuración de tu sitio.

Por otra parte, no es recomendable que un formulario de este tipo se envíe por get, sino por post, solo por cuestiones de seguridad.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 04/05/2014, 22:25
 
Fecha de Ingreso: abril-2014
Mensajes: 56
Antigüedad: 10 años
Puntos: 0
Respuesta: No valida los datos

Cita:
Iniciado por Triby Ver Mensaje
Código HTML:
Ver original
  1. <form action="/validar" method="get">

En el action estás especificando esa página, tal vez deba ser solo "validar", sin la diagonal o "validar.php", dependiendo de la configuración de tu sitio.

Por otra parte, no es recomendable que un formulario de este tipo se envíe por get, sino por post, solo por cuestiones de seguridad.
bueno lo que pasa es que hice esa modificacion con el web.config y el .htaccess para que en vez de decir validar.php sea solo validar y si es verdad jeje olvide ese detalle que era post pero ahora ni el url cambia .-.

otra cosa mira tengo mi registro de usuarios asi:

Código HTML:
Ver original
  1. <form action="/validarregistro" method="post">
  2.   <p>Nombre:<input type="text" name="username"></p>
  3.   <p>Email:<input type="text" name="mail"></p>
  4.   <p>Contraseña:<input type="password" name="password"></p>
  5.   <p>Repite Contraseña:<input type="password" name="repassword"></p>
  6.   <p>Genero:
  7.  
  8.     <input type="radio" name="Gender" value="Gender">
  9.     <label for="GenderM">Masculino</label>
  10.     <img src="http://www.forosdelweb.com/f18/imagenes/index/registro/boy.png">
  11.     <input type="radio" name="radio" id="GenderF" value="Gender">
  12.     <label for="Gender">Femenino</label>
  13.     <img src="http://www.forosdelweb.com/f18/imagenes/index/registro/girl.png">
  14.     <br><input type="checkbox" name="acepto" value="acepta">
  15.     <label for="acepto">Aceptar Terminos y Condiciones</label>
  16.     <input type="submit" id="registrar" name="registrar" value="Registrate">
  17. </form>
y el validarregistro.php asi:
Código PHP:
Ver original
  1. include('../Kira/config.php');
  2.  
  3. if(isset($_POST['registrar']))
  4. {
  5.     if($_POST['username'] == '' or $_POST['password'] == '' or $_POST['repassword'] == '' or $_POST['mail'] == '')
  6.     {
  7.         echo 'Por favor llene todos los campos.';
  8.     }
  9.     else
  10.     {  
  11.         $sql = 'SELECT username FROM users';
  12.         $rec = mysql_query($sql);
  13.         $verificar_usuario = 0;
  14.  
  15.         while($result = mysql_fetch_object($rec))
  16.         {
  17.             if($result->usuario == $_POST['username'])
  18.             {
  19.                 $verificar_usuario = 1;
  20.             }
  21.         }
  22.  
  23.         if($verificar_usuario)
  24.         {
  25.             if($_POST['password'] == $_POST['repassword'])
  26.             {
  27.                 $usuario = $_POST['usuario'];
  28.                 $password = $_POST['password'];
  29.                 $sql = "INSERT INTO users (username,password,look) VALUES ('$usuario','$password','$look')";
  30.                 mysql_query($sql);
  31.  
  32.                 echo 'Usted se ha registrado correctamente.';  
  33.             }
  34.             else
  35.             {
  36.                 echo 'Las claves no son iguales, intente nuevamente.';  
  37.             }
  38.         }
  39.         else
  40.         {
  41.             echo 'Este usuario ya ha sido registrado anteriormente.';  
  42.         }
  43.     }
  44. }
pero lo registro bien y no tengo ninguna tabla hecha en la bd y me dice que ese nombre ya existe .-. porque ocurre? :c

Última edición por K1R4MC; 04/05/2014 a las 22:38
  #4 (permalink)  
Antiguo 04/05/2014, 23:15
 
Fecha de Ingreso: abril-2013
Ubicación: medellin-colombia
Mensajes: 47
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: No valida los datos

Porque no cambias
Código PHP:
while($result mysql_fetch_object($rec))
        {
            if(
$result->usuario == $_POST['username'])
            {
                
$verificar_usuario 1;
            }
        } 
por un
Código PHP:
mysql_fetch_row($rec
imprimero y con esto si devuelve 1 o mas es porque hay registros de lo contrario no.

con esto nos daremos cuenta porque mas fácil de porque es el error.
  #5 (permalink)  
Antiguo 05/05/2014, 15:13
 
Fecha de Ingreso: abril-2014
Mensajes: 56
Antigüedad: 10 años
Puntos: 0
Respuesta: No valida los datos

Cita:
Iniciado por davit09 Ver Mensaje
Porque no cambias
Código PHP:
while($result mysql_fetch_object($rec))
        {
            if(
$result->usuario == $_POST['username'])
            {
                
$verificar_usuario 1;
            }
        } 
por un
Código PHP:
mysql_fetch_row($rec
imprimero y con esto si devuelve 1 o mas es porque hay registros de lo contrario no.

con esto nos daremos cuenta porque mas fácil de porque es el error.
lo remplase pero me tira error, me deja la pagina en blanco

Etiquetas: fecha, html, mysql, select, sql
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 21:53.