Foros del Web » Programando para Internet » PHP »

Problema al hacer login

Estas en el tema de Problema al hacer login en el foro de PHP en Foros del Web. Hola a todos.... Hace poco que estoy programando con PHP y estoy siguiendo unos videotutoriales de este lenguaje de programacion. En uno de ellos plantean ...
  #1 (permalink)  
Antiguo 09/04/2009, 18:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Problema al hacer login

Hola a todos....
Hace poco que estoy programando con PHP y estoy siguiendo unos videotutoriales de este lenguaje de programacion. En uno de ellos plantean un sistema de login. El problema es que cuando intento iniciar sesion con un nombre vàlido debidamente guardado en la base de datos, no me reconoce ningun usuario, colocando: "No has podido hacer logged in. Debes estar logged in para ver esta página." que es el mensaje que se ha configurado si no existe el usuario. Aqui esta el codigo:

Código PHP:
<?php
require_once("bookmark_fns.php");
session_start();
if (
$_POST["username"] && $_POST["passwd"])
// Intentando iniciar sesiòn
{
    if (
login($_POST["username"], $_POST["passwd"]))
    {
      
// Si la id se encuentra registrada en la base de datos
      
$valid_user $_POST["username"];
      
session_register($_POST["valid_user"]);
    }
    else
    {
      
// inicio de sesion insatisfactorio
      
do_html_header("Problema:");
      echo 
"No has podido hacer logged in.
            Debes estar logged in para ver esta página."
;
      
do_html_url("login.php""Login");
      
do_html_footer();
      exit;
    }
}

do_html_header("Inicio");
check_valid_user();
// Obtiene los marcadores que el usuario ha ingresado
if ($url_array get_user_urls($valid_user));
  
display_user_urls($url_array);

// obtiene el menu de opciones
display_user_menu();

do_html_footer();

?>
Luego de mi pagina login.php va a member.php. Que es este codigo.
Saludos y gracias cualquier culaquier solucion....
  #2 (permalink)  
Antiguo 09/04/2009, 19:18
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: Problema al hacer login

Buenas,

No se si me falla... pero se supone que tienes que hacer una query (consulta) a tu base de datos para comprobar que esa id de usuario existe y mostrar ya sus datos o lo que quieras mostrar al usuari@ logueado.
Algo así:
Código PHP:
$query mysql_query ("SELECT * FROM tutabla WHERE  username = '$valid_user' ") or die(mysql_error()); 
Y por lo tanto como se puede apreciar el codigo que has mostrado no lo lleva.

Saludos,
  #3 (permalink)  
Antiguo 09/04/2009, 19:58
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: Problema al hacer login

el problema en todo caso, estaria en esta linea
Código php:
Ver original
  1. login($_POST["username"], $_POST["passwd"])
seguramente la funcion "login" procesa mal algun dato.
también, he notado que usas session_register, esta funcion es obsoleta por motivos de seguridad. actualmente se usan $_SESSION para reemplazarla.
__________________
Gracias
  #4 (permalink)  
Antiguo 09/04/2009, 20:13
 
Fecha de Ingreso: abril-2009
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema al hacer login

ya configuraste la funcion que conecta a la base de datos? hace ya tiempo mire tambien esos videotutoriales creo que hay un archivo php que contiene la funcion de conectar a la base de datos dicha funcion establece la coneccion a la base de datos ahi modifica los datos del
mysql_pconnect("localhost","username","password"); y checa que el usuario que pongas ya este creado en en phpmyadmin...

si no le moviste nada al resto del codigo te tiene que funcionar...
tambien si tienes el register_globals en off creo que no te va a funcionar es mejor como te dice dannce4life utiliza $_SESSION para reemplazarla...
  #5 (permalink)  
Antiguo 09/04/2009, 22:06
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Problema al hacer login

creo que yo llegue a ver estos video tutoriales a leguas se reconoce el codigo jeje

if (login($_POST["username"], $_POST["passwd"]))

El problema tiene que estar aqui comprueba que los campos de texto tengan estos nombres

username y passwd ademas podrias colocar el codigo de dicha funcion para poderte ayudar mas
  #6 (permalink)  
Antiguo 13/04/2009, 16:52
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problema al hacer login

Hola a todos, gracias por sus respuestas y disculpen la tardanza. Pero sigo con el mismo problema.
Deffer, hice lo que me dijiste, coloque el query pero nada me sigue saliendo mi mensaje de login incorrecto.
Reemplace session_register por $_SESSION y tampoco, ademas verifique mis datos en mi conexion a la bd y cambie en mi php.ini register_globals=Off por On.
Empiezo a creer que el problema esta en la configuracion de php exactamente en el archivo php.ini pero no se muy bien que pueda ser.
O no se si puede ser este codigo donde verifica que los campos de los usuarios esten bien cuando son introducidos.
Código PHP:
function filled_out($form_vars)
{
$form_vars=array();//Esta funciòn examina que las variables tengan algun valor
  
foreach ($form_vars as $key => $value)//Coloca la variable como un array asociativo
  
{
     if (!isset(
$key) || ($value == ""))//Si no se cumple isset y el valor es nulo
        
return false;                   
  }
  return 
true;                          
}
function 
valid_email($address)//Esta funciòn asegura que estè bien escrito el email
{
  
// Chequea los posibles caracteres vàlidos para la direcciòn de email
  
if (ereg("^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$"$address))
    return 
true;
  else
    return 
false;

Cualquier otra idea se los agradeceria muchisimo....
  #7 (permalink)  
Antiguo 13/04/2009, 22:04
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema al hacer login

Cita:
cambie en mi php.ini register_globals=Off por On.
Noooooooo!!! Eso es MALO, muy malo. xD

¿Que versión de PHP tienes?

:P Jaja, reconozco ese código... es de un libro que tengo (uno de los tantos).
  #8 (permalink)  
Antiguo 14/04/2009, 13:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problema al hacer login

Hola, tengo la version 5.2.8
  #9 (permalink)  
Antiguo 15/04/2009, 10:44
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problema al hacer login

Por favor ayudaaaaaaaaaaaaaa
Aun no he logrado resolver este problema, ya me esta volviendo loca
Aqui esta de nuevo mi codigo de member.php con las mejoras:
Código PHP:
<?php
require_once("bookmark_fns.php");
session_start();
if (
$_POST["username"] && $_POST["passwd"])
// Intentando iniciar sesiòn
{
$username=$_POST["username"];
$passwd=$_POST["passwd"];
if (
$passwd==NULL)
{
echo 
"La password no fue enviada";
}
    if (
login($_POST["username"], $_POST["passwd"]))
    {
      
// Si la id se encuentra registrada en la base de datos
      
$valid_user $_POST["username"];
      
$query mysql_query ("SELECT * FROM user WHERE  username = '$valid_user' ") or die(mysql_error());
      
$_SESSION["valid_user"];
      echo 
"Bienvenido";
}
    else
    {
      
// inicio de sesion insatisfactorio
      
do_html_header("Problema:");
      echo 
"Acceso restringido. Solo usuarios registrados podran entrar <br>";
      echo 
"Registrate <a href='register_form.php'> aqui </a> ";
      
do_html_url("login.php""Login");
      
do_html_footer();
      exit;
    }
}
do_html_header("Inicio");
check_valid_user();
// Obtiene los marcadores que el usuario ha ingresado
if ($url_array get_user_urls($valid_user));
  
display_user_urls($url_array);

// give menu of options
display_user_menu();

do_html_footer();

?>
Y en la pantalla cuando ingreso datos validos
me sale esta parte:
Cita:
Acceso restringido. Solo usuarios registrados podran entrar
Registrate aqui
Cualquier otra ayuda se los agradezco inmensamente por favoooooor.
  #10 (permalink)  
Antiguo 15/04/2009, 10:50
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problema al hacer login

y aqui esta mi funcion login
Código PHP:
function login($username$password)
//PARA INICIAR SESION
{
  
// conecta a la base de datos
  
$conn db_connect();
  if (!
$conn)
    return 
0;

   
$result mysql_query("select * from user
                         where username='$username'
                         and passwd = password('$password')"
);
  if (!
$result)
     return 
0;

  if (
mysql_num_rows($result)>0)
     return 
1;
  else
     return 
0;

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 19:01.