Foros del Web » Programando para Internet » PHP »

Problema con Login

Estas en el tema de Problema con Login en el foro de PHP en Foros del Web. Hola gente, bueno hoy empece con PHP y Mysql, y mirando tutoriales me puse a hacer un Login. Bueno cuenta con 4 archivos php, index.php, ...
  #1 (permalink)  
Antiguo 26/02/2010, 15:24
 
Fecha de Ingreso: enero-2010
Mensajes: 24
Antigüedad: 14 años, 3 meses
Puntos: 0
Problema con Login

Hola gente, bueno hoy empece con PHP y Mysql, y mirando tutoriales me puse a hacer un Login.

Bueno cuenta con 4 archivos php, index.php, login.php, miembros.php y connect.php

Cuando voy a conectarme para ver si anda me tira este error

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Completo\login.php on line 12
bla bla bla


Aca les dejo el codigo de login.php

Código PHP:
<?php

    $usuario 
$_POST["usuario"];
    
$contrase&#241;a = $_POST["contraseña"];
    
    
include ("connect.php");
    
    if (
$usuario && $contrase&#241;a)
    
{
        
// info is provided
        
$queryget mysql_query ("SELECT * FROM usuario WHERE usuario = '$usuario' AND contraseña = '$contraseña'");
        
$numrows mysql_num_rows ($queryget);
        if (
$numrows  0)
        {
            
$_SESSION['usuario'] = $usuario;
            echo 
"Te logeastes bien papa <a href='miembros.php'>Ir A La Pagina De Miembros</a>";
        }
        else    
            echo 
"bla bla bla";
    }
    else
    {
        echo 
'Usted NO Tiene Permisos Para Acceder A Una Cuenta. Por Favor Intente Con Otra Cuenta.';
        include (
"index.php");
    }
    
end








?>
Agradeceria que me den una solucion, ya que es mi primer proyecto en PHp y no quiero estar estancado T_T
  #2 (permalink)  
Antiguo 26/02/2010, 15:33
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problema con Login

Código PHP:
Ver original
  1. $queryget = mysql_query ("SELECT * FROM usuario WHERE usuario = '$usuario' AND contraseña = '$contraseña'");
Te falta la variable que tengas asignada a mysql_connect()
Ejemplo:
Código PHP:
Ver original
  1. $conexion=mysql_connect($server,$user,$pass);
  2. $queryget=mysql_query("SELECT * FROM usuario WHERE usuario = '$usuario' AND contraseña='$contraseña'", $conexion);

Por cierto.... eso de utilizas eñes en códigos fuentes..... vaya locura. Será mejor que leas con más atención el manual que sigues.....
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Última edición por CHuLoSoY; 26/02/2010 a las 16:00
  #3 (permalink)  
Antiguo 26/02/2010, 15:43
Avatar de camsworksinc  
Fecha de Ingreso: julio-2008
Ubicación: Queretaro
Mensajes: 261
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Problema con Login

Pareceria que el query que estas haciendo NO esta correcto, y por tanto, al ejecutar la funcion mysql_num_rows(), te manda un error porque nunca regreso un resultado valido.
¿Existe la tabla usuarios, y dentro de ella, los campos usuarios y contraseña?
__________________
¡Malditas computadoras que siempre hacen lo que les DIGO que hagan, no lo que QUIERO que hagan!
  #4 (permalink)  
Antiguo 26/02/2010, 15:46
 
Fecha de Ingreso: enero-2010
Mensajes: 24
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con Login

perdon, es que soy nuevo, osea es mi primer proyecto importante de php :=)


Emm no entendi que tengo que poner T_T


-------------------------------------------------------------------------------------------------

yo cree una base de datos con los campos

id
usuario
contraseña
email
dob
nombre

para despues hacer un un formulario de registro, y ya cree un usuario desde la base de datos
  #5 (permalink)  
Antiguo 26/02/2010, 15:47
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Problema con Login

Bueno, yo que tu empezaria por la teoria primero, luego los proyectos ¿no crees?
  #6 (permalink)  
Antiguo 26/02/2010, 15:54
 
Fecha de Ingreso: enero-2010
Mensajes: 24
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con Login

Cita:
Iniciado por eulloa Ver Mensaje
Bueno, yo que tu empezaria por la teoria primero, luego los proyectos ¿no crees?
Si, eso es lo que hice, pero tengo un error nada mas y para no quedarme aca y tirar todo XD pedi una ayuda a los chicos del foro
  #7 (permalink)  
Antiguo 26/02/2010, 15:59
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problema con Login

Pon el código que tengas en conexion.php . Hiciste caso de mi mensaje de arriba?
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #8 (permalink)  
Antiguo 26/02/2010, 16:03
 
Fecha de Ingreso: enero-2010
Mensajes: 24
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con Login

Cita:
Iniciado por CHuLoSoY Ver Mensaje
Pon el código que tengas en conexion.php . Hiciste caso de mi mensaje de arriba?
Si, en conection.php yo ya tenia para conectarse a la DB.

me sigue apareciendo este error

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Completo\login.php on line 14
bla bla bla


Aca les paso los codigos.

Login.php
Código PHP:
<?php

    $usuario 
$_POST["usuario"];
    
$contrasena $_POST["contrasena"];
    
    include (
"connect.php");
    
    if (
$usuario && $contraseña)
    {
        
// info is provided
        
$queryget mysql_query ("SELECT * FROM usuario WHERE usuario = '$usuario' AND contrasena = '$contrasena'");
        
$numrows mysql_num_rows ($queryget);
        if (
$numrows  0)
        {
            
$_SESSION['usuario'] = $usuario;
            echo 
"Te logeastes bien papa <a href='miembros.php'>Ir A La Pagina De Miembros</a>";
        }
        else    
            echo 
"bla bla bla";
    }
    else
    {
        echo 
'Usted NO Tiene Permisos Para Acceder A Una Cuenta. Por Favor Intente Con Otra Cuenta.';
        include (
"index.php");
    }
    
end


?>
Connect.php
Código PHP:
<?php

    $connect 
mysql_connect ("localhost""root""maximus");
    
mysql_select_db ("web_completa");
    
?>
Miembros.php
Código PHP:
<?php
    
    $usuario 
$_SESSION['usuario'];
    
$contrasena $_SESSION['contrasena'];
    if    (
$username)
    {
        echo 
"Bienvenido $usuario"
    }
    else
    {
        echo 
"Tu No Estas Logeado";
    }
    
end    
    
?>
  #9 (permalink)  
Antiguo 26/02/2010, 16:08
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problema con Login

Muchas cosas que no cuadran. Fíjate en los comentarios que le puse a tu código y ya lo tienes
Código PHP:
Ver original
  1. <?php
  2.  
  3.     $usuario = $_POST["usuario"];
  4.     $contrasena = $_POST["contrasena"];
  5.    
  6.     include ("connect.php");
  7.    
  8.     if ($usuario && $contrase&#241;a) // Otra eñe que no lleva a ninguna variable existente
  9.    {
  10.         $queryget = mysql_query ("SELECT * FROM usuario WHERE usuario = '$usuario' AND contrasena = '$contrasena'"); //Sigues sin hacer caso de ponerle $connect al final
  11.         $numrows = mysql_num_rows ($queryget);
  12.         if ($numrows  = 0) //Debería ser == . Busca sobre la diferencia entre uno y dos signos de igualdad
  13.         {
  14.             $_SESSION['usuario'] = $usuario;
  15.             echo "Te logeastes bien papa <a href='miembros.php'>Ir A La Pagina De Miembros</a>"; //logueastes NO, logueaste, pero esto ya es pura gramática xD
  16.         }
  17.         else    
  18.             echo "bla bla bla";
  19.     }
  20.     else
  21.     {
  22.         echo 'Usted NO Tiene Permisos Para Acceder A Una Cuenta. Por Favor Intente Con Otra Cuenta.';
  23.         include ("index.php");
  24.     }
  25.     end //esto no hace falta. Ya cierras el corchete }
  26.  
  27.  
  28. ?>

Más:
Código PHP:
Ver original
  1. <?php
  2.  
  3.     $connect = mysql_connect ("localhost", "root", "maximus");
  4.     mysql_select_db ("web_completa"); // Te falta enlazarla a $connect: mysql_select_db("web_completa", $connect);
  5.    
  6. ?>

Miembros:
Código PHP:
Ver original
  1. <?php
  2.    
  3.     $usuario = $_SESSION['usuario'];
  4.     $contrasena = $_SESSION['contrasena'];
  5.     if    ($username) // de dónde sacas el $username? será $usuario??
  6.     {
  7.         echo "Bienvenido $usuario";
  8.     }
  9.     else
  10.     {
  11.         echo "Tu No Estas Logeado";
  12.     }
  13.     end    //Sigue sobrando
  14.    
  15. ?>

Saludos.

PD: Empieza por la teoría. Mira mi firma.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #10 (permalink)  
Antiguo 26/02/2010, 16:22
 
Fecha de Ingreso: enero-2010
Mensajes: 24
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con Login

Gracias amigo, de los errores se aprende, no?, yo queria empezar practicando ya que el 27/3 empiezo el curso de PHPMysql y pór eso es que quiero practicar :=)

Bueno ahora el error es que cuando me conecto, no me aparece Bienvenido (usuario), sino que me sigue apareciendo ('Usted NO Tiene Permisos Para Acceder A Una Cuenta. Por Favor Intente Con Otra Cuenta)

Hice todo lo que vos dijistes :(
  #11 (permalink)  
Antiguo 26/02/2010, 16:29
Avatar de ale123  
Fecha de Ingreso: septiembre-2007
Mensajes: 78
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Problema con Login

Te recomiendo que empieces a aprender objetos. Es mucho mejor :)
Podes leer algunas clases en: www.phpclasses.org
Saludos
  #12 (permalink)  
Antiguo 26/02/2010, 16:32
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problema con Login

Las $_SESSION de dónde las sacas? Las inicializas alguna vez? startsession() ??
Prueba a hacer algo más sencillo primero, y luego te metes con cookies, luego sessions, arrays., funciones, clases.........
Código PHP:
Ver original
  1. <?php
  2.  
  3.     $usuario = $_POST["usuario"];
  4.     $contrasena = $_POST["contrasena"];
  5.    
  6.     include ("connect.php");
  7.    
  8.     if ($usuario && $contrasena)
  9.     {
  10.         $queryget = mysql_query ("SELECT * FROM usuario WHERE usuario = '$usuario' AND contrasena = '$contrasena'", $connect);
  11.         $numrows = mysql_num_rows ($queryget);
  12.         if ($numrows  == 0)
  13.         {
  14.             setcookie("usuario", $usuario,time()+(60*60*24*365)); //Dura un año
  15.             echo "Te logeastes bien papa <a href='miembros.php'>Ir A La Pagina De Miembros</a>";
  16.         }
  17.         else    
  18.             echo "bla bla bla";
  19.     }
  20.     else
  21.     {
  22.         echo 'Usted NO Tiene Permisos Para Acceder A Una Cuenta. Por Favor Intente Con Otra Cuenta.';
  23.         include ("index.php");
  24.     }
  25.  
  26. ?>
Miembros
Código PHP:
Ver original
  1. <?php
  2.    
  3.     $usuario = $_COOKIE['usuario'];
  4.     if  ($usuario)
  5.     {
  6.         echo "Bienvenido ". $usuario;
  7.     }
  8.     else
  9.     {
  10.         echo "Tu No Estas Logeado";
  11.     }
  12.  
  13. ?>
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: login
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 22:12.