Foros del Web » Programando para Internet » PHP »

Sistema de login y cambio de password?

Estas en el tema de Sistema de login y cambio de password? en el foro de PHP en Foros del Web. Hola a todos, tengo un website de un juego (Lineage2) programado en php+mysql. Lo que quiero conseguir es un sistema de logueo ya que el ...
  #1 (permalink)  
Antiguo 05/11/2006, 09:44
Avatar de Shade  
Fecha de Ingreso: noviembre-2006
Mensajes: 262
Antigüedad: 17 años, 5 meses
Puntos: 1
Sistema de login y cambio de password?

Hola a todos, tengo un website de un juego (Lineage2) programado en php+mysql. Lo que quiero conseguir es un sistema de logueo ya que el sistema de cuentas ya lo tengo.

Las tablas de la db van asi:

-Tabla accounts: con los valores Login , Password , email
-Tabla characters: con los valores account_name (que se compara con el Login de la tabla accounts) obj_Id (un numero unico para cada personaje) , char_name (Nombre del personaje)

Lo que me gustaria crear es lo siguiente:
Un formulario que me permita cambiar el password.
Un formulario de logueo, que reconozca los personajes que hay en la cuenta y los muestre. Asi despues puedo elegir opciones para cada uno de los personajes como si desea aparecer en un ranking etc.

P.D.: El formulario del cambio de password creo que es sencillo. Pero llevo varios dias ya con esto y tengo la cabeza a punto de explotar.

Cualquier ayuda es mas que bienvenida, muchisimas gracias!!
  #2 (permalink)  
Antiguo 05/11/2006, 09:53
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 2 meses
Puntos: 1
En resumen, no sabes hacerlo (o no quieres pasarte un rato buscando) y pretendes que alguien de aquí te programe enterito todo el sistema de logueo (o te copie uno suyo), no?
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #3 (permalink)  
Antiguo 05/11/2006, 09:56
Avatar de Shade  
Fecha de Ingreso: noviembre-2006
Mensajes: 262
Antigüedad: 17 años, 5 meses
Puntos: 1
No, mi gran problema en si viene a la hora de detectar los personajes que cada account tiene asignada, no se como hacer el salto de una tabla a otra.

Ejemplo: logueo con usuario pepito y password queseyo

La pagina detecta que el usuario pepito tiene los personajes salame y salamin.

Por el resto puedo ir sacandolo yo.
  #4 (permalink)  
Antiguo 05/11/2006, 10:01
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 2 meses
Puntos: 1
2 consultas:
Cita:
select idUser from usuarios where username='".$username."' and password='".$passwd."';
Si te devuelve un id quiere decir que se ha logueado bien.
Cita:
$idUser=$row['idUser'];
Guardas el id del usuario en una variable.
Cita:
select * from personajes where idUsuario=".$idUser.";
Aqui tienes la info de todos los personajes que el usuario tiene.
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #5 (permalink)  
Antiguo 10/11/2006, 12:11
Avatar de Shade  
Fecha de Ingreso: noviembre-2006
Mensajes: 262
Antigüedad: 17 años, 5 meses
Puntos: 1
Bueno... ya empieza a ir bien el tema de el sistema de login, mi problema viene ahora en que el password se encripta cuando se realiza el registro con

Código:
// Hash the password //
	$password = base64_encode(pack("H*", sha1(utf8_encode($password))));
Y a la hora de realizar el logueo pues... no me toma el password :S Lo que he realizado para probar ahora mismo es cambiar un password de la database para que no este encriptado y el sistema funciona.

Pero como hacer para que el formulario se fije en el password encriptado?!

Aqui lo que he realizado hasta ahora:

Login.php
Código HTML:
<!doctype html public "-//w3c//dtd html 3.2//en">

<html>

<head>
<title>Titulo</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">

<form action='loginck.php' method=post>
<table border='0' cellspacing='0' cellpadding='0' align=center>
  <tr id='cat'>
  <tr> <td bgcolor='#f1f1f1' ><font face='verdana, arial, helvetica' size='2' align='center'> &nbsp;Login&nbsp; &nbsp;
</font></td> 
  <td bgcolor='#f1f1f1' align='center'><font face='verdana, arial, helvetica' size='2' >
<input type ='text' class='bginput' name='login' ></font></td></tr>

<tr> <td bgcolor='#ffffff' ><font face='verdana, arial, helvetica' size='2' align='center'> &nbsp;Password  
</font></td> <td bgcolor='#ffffff' align='center'><font face='verdana, arial, helvetica' size='2' >
<input type ='password' class='bginput' name='password' ></font></td></tr>

<tr> <td bgcolor='#f1f1f1' colspan='2' align='center'><font face='verdana, arial, helvetica' size='2' align='center'>&nbsp;  
</font></td> </tr>

<tr> <td bgcolor='#f1f1f1' colspan='2' align='center'><font face='verdana, arial, helvetica' size='2' align='center'>  
<input type='submit' value='Submit'> <input type='reset' value='Reset'>
</font></td> </tr>


<tr> <td bgcolor='#f1f1f1' colspan='2' align='center'><font face='verdana, arial, helvetica' size='2' align='center'>&nbsp;  
</font></td> </tr>


</table></center></form>
</body>

</html> 

loginck.php
Código PHP:
<?
include "include/session.php";

include 
"include/z_db.php";

?>
<!doctype html public "-//w3c//dtd html 3.2//en">

<html>

<head>
<title>Titulo</title>

</head>

<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
<?
$login
=mysql_real_escape_string($login);
$password=mysql_real_escape_string($password);

if(
$rec=mysql_fetch_array(mysql_query("SELECT * FROM l2jdb WHERE login='$login' AND password = '$password'"))){
    if((
$rec['login']==$login)&&($rec['password']==$password)){
     include 
"include/newsession.php";
            echo 
"<p class=data> <center>Logueado satisfactoriamente<br><br><a href='logout.php'> Desloguear </a><br></center>";
     print 
"<script>";
       print 
" self.location='bienvenido.php';"// Comment this line if you don't want to redirect
          
print "</script>";

                } 
        }    
    else {

        
session_unset();
echo 
"<font face='Verdana' size='2' color=red>Login incorrecto. Usa tu usuario y password correctos.<br><center><input type='button' value='Reintentar' onClick='history.go(-1)'></center>";
        
    }
?>
</body>

</html>



Se que el fallo esta en
Código:
$password=mysql_real_escape_string($password);
pero no se como arreglarlo.
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 17:38.