Foros del Web » Programando para Internet » PHP »

recordar contraseña

Estas en el tema de recordar contraseña en el foro de PHP en Foros del Web. esta es otra preguntica aparte de la q esta por ahi en este ismo for q no he podido solucionar..l pregunta es como hago para ...
  #1 (permalink)  
Antiguo 30/06/2005, 19:02
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 13 años, 3 meses
Puntos: 2
recordar contraseña

esta es otra preguntica aparte de la q esta por ahi en este ismo for q no he podido solucionar..l pregunta es como hago para q cuano un usuario se le olvide la contraseña poderla recordar????
__________________
paty :adios:
  #2 (permalink)  
Antiguo 30/06/2005, 19:28
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
pues pon un campo de formulario en donde se tenga que ingresar el email (o el nombre de usuario) y con eso hace todo...

Buscas el email en la base de datos y le envias los datos a ese mail (obviamente, para esto tienes que permitir solo 1 registro por mail...)

Código PHP:
<?php
$mail 
$_POST["email"];
//conexión MySQL
$SQL mysql_query("SELECT * FROM usuarios WHERE email = '$mail'");
if(
$row=mysql_fetch_array($SQL)) {
$user $row[nick];
$pass $row[password];
}
?>
Luego envias un email con esos datos.

Por otra parte, esto solo puede hacerse si tu no encriptas los passwords, si haces esto la unica opcion que te queda es generar un password al vuelo y enviarselo por email (mientras que al mismo tiempo tu cambias el password original por el creado...)

Saludos.
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 01/07/2005, 01:06
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
hay alguna funcion para generar palabras aleatoriamente? sea php o mysql
  #4 (permalink)  
Antiguo 01/07/2005, 01:13
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por cyborg
hay alguna funcion para generar palabras aleatoriamente? sea php o mysql
Tienes rand() de PHP (MySQL tiene su propia función pero no creo te sirva... aunque no explicas el objetivo)... con ello puedes hacer tu sistema generador aleatorio (generar tus palabras pués). En el foro se han manejado scripts generadores de códigos... incluso me parece hay algo en las FAQ... no sé si sea lo que buscas.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 01/07/2005, 02:51
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
umm si.. pero rand es para números no?
miraré por las faq... a ver si veo algo
  #6 (permalink)  
Antiguo 01/07/2005, 02:53
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
bueno ya lo vi aqui..
http://www.forosdelweb.com/showpost....3&postcount=71

es ese no?
  #7 (permalink)  
Antiguo 01/07/2005, 10:55
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 13 años, 3 meses
Puntos: 2
Cita:
Iniciado por FuLaNo_
pues pon un campo de formulario en donde se tenga que ingresar el email (o el nombre de usuario) y con eso hace todo...

Buscas el email en la base de datos y le envias los datos a ese mail (obviamente, para esto tienes que permitir solo 1 registro por mail...)

Código PHP:
<?php
$mail 
$_POST["email"];
//conexión MySQL
$SQL mysql_query("SELECT * FROM usuarios WHERE email = '$mail'");
if(
$row=mysql_fetch_array($SQL)) {
$user $row[nick];
$pass $row[password];
}
?>
Luego envias un email con esos datos.

Por otra parte, esto solo puede hacerse si tu no encriptas los passwords, si haces esto la unica opcion que te queda es generar un password al vuelo y enviarselo por email (mientras que al mismo tiempo tu cambias el password original por el creado...)

Saludos.
perdon la ignorancia pero como envio el mail....??????????despues de hacer son asi com escribite rribaesto..ah y no esoy encriptando el password y otrapregunta estos campos
Código HTML:
$user = $row[login]; 
$pass = $row[contrasena]; 
o van coillas dentro del parentesis cuadrado
Código HTML:
$user = $row['login']; 
$pass = $row['contrasena']; 
__________________
paty :adios:

Última edición por niltza; 01/07/2005 a las 11:00
  #8 (permalink)  
Antiguo 01/07/2005, 14:48
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
yo los uso sin comillas, pero si le pones, ponle dobles $row["login"]

Para enviar el mail debes usar la funcion mail(); de php, busca en el foro que hay miles de post haciendo referencia a su uso...
__________________
I Love Programming...
  #9 (permalink)  
Antiguo 01/07/2005, 14:55
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Usarlos sin comillas no es correcto en este caso, o sea, estas tratando de llamar a una constante, cosa que si tuvieras correctamente configurado el php.ini te tiraria error. Y usar simples o dobles en este caso, es lo mismo.

Para usar la funcion email, sería algo asi:
$email = "[email protected]"; # A donde va
$mail_from = "[email protected]"; #De quien va
$subject = "subject del email";
$html = "<b>Hola </b>".$rs["usuario"]; #El html
$headers = "From: ".$mail_from."
Return-Path: ".$mail_from."
Reply-To: ".$mail_from."
MIME-Version: 1.0
Content-Type: text/html; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 8bit";
if(mail($email, $subject, $html, $headers)){
echo "<script>alert('Si')</script>";
}else{
echo "<script>alert('NO')</script>";
}

Obviamente deberas tener en tu maquina o en el servidro un smtp anonimo.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #10 (permalink)  
Antiguo 01/07/2005, 19:01
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 13 años, 3 meses
Puntos: 2
yno existe otra manera mas facil coo qu ingrese el login y le vote los datos ahi mismo sin usar correo??
__________________
paty :adios:
  #11 (permalink)  
Antiguo 01/07/2005, 19:15
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Mira, es muy sencillo como hacer una consulta con "SELECT * FROM usuarios WHERE usuario='$usuario'"; pero es muy peligroso, porque con el nombre de usuarios quieres exponer todo y cualquiera puede ver su usuario.

Lo mejor es hacer una consulta con el usuario, el email y otra cosa que sepa el usuario. Esto es con usuario e email:

Código PHP:
$consultar=mysql_query("SELECT * FROM usuarios WHERE usuario='$usuario' AND email='$email'"); 
  #12 (permalink)  
Antiguo 01/07/2005, 19:23
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
... tienes que hacer preguntas secretas y ese tipo de cosas... de lo contrario el metodo no sirve...

Imaginate que cualquiera puede obtener el password de cualquiera... enviandole un email solo veria los datos la verdadera persona (o alguien que tenga apropiada su cuenta de correo, pero esto ya es problema del usuario).

En fin... las cosas bien hechas no son las mas faciles... (en teoria...)
__________________
I Love Programming...
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 09:15.