Quisiera saber como le hago llegar la informacion a un usuario registrado de su nombre de usuario y contraseña a traves del mail con el que se registró. Y como recupera su contraseña si se la olvida. Los datos ya los tengo en la BD.
Muchas Gracias.
| |||
Recuperar contraseña y nombre de usuario Quisiera saber como le hago llegar la informacion a un usuario registrado de su nombre de usuario y contraseña a traves del mail con el que se registró. Y como recupera su contraseña si se la olvida. Los datos ya los tengo en la BD. Muchas Gracias. |
| |||
Pero .. como guardas tus contraseñas en tu BD? .. planas o encriptadas? Por lo demás .. sólo tienes que hacer una consulta SQL de la forma habitual a tu BD para obtener ese registro (y campos) de ese usuario que solicita el recordar la contraseña (supongo que lo autentificarás por algún medio?) y genear tu mail con la función: mail() de PHP. Recordar la contraseña es el mismo procedimiento .. la obtienes y generas un mail para enviarselo a la dirección que indicó en el registro. Si las contraseñas están encriptadas .. es otro tema .. hay que genear una nueva. Especifica un poco más que NO sabes hacer exactamente .. ¿no sabes hacer la consulta a tu BD para obtener los datos de la contraseña para ese usuario? .. no sabes enviar un e-mail con PHP? .. en fin, concreta más y sobre todo intenta hacer algo tu y aquí publicas los problemas que tengas puntuales... Un saludo, |
| |||
Debes hacer una página con un pequeño formulario donde tendrá que introducir su e-mail. Lo procesas y si ese e-mail concuerda con el que tienes en la base de datos, le envias usuario y contraseña. En las FAQ's encontrarás como enviar un e-mail. |
| |||
Estoy usando una mezcla de lo publicado en maestrosdelweb y desarrolloweb El formulario de registro formulario_registro.htm <html> <head> <title>Formulario de registro</title> </head> <strong><font size="3">INGRESE SUS DATOS PARA REGISTRARSE</font></strong><br> <FORM ACTION="registrar.php" METHOD="post"> <div align="left"><strong>Nombre de usuario:</strong> <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20> (*)<BR> <strong>Password:</strong> <INPUT TYPE="password" NAME="password" SIZE=28 MAXLENGTH=20> (*)<BR> <strong>Email:</strong> <INPUT TYPE="text" NAME="email" SIZE=28 MAXLENGTH=100> (*)<BR> <strong>Nombre Real:</strong> <INPUT TYPE="text" NAME="nombre" SIZE=28 MAXLENGTH=255> <BR> <INPUT name="submit" TYPE="submit" CLASS="boton" VALUE="Registrarse"> </div> </FORM> (*) Datos obligatorios </body> </html> El programa que me manda el registro a la BD registrar.php <html> <head> <title>Documento sin título</title> </head> <?php //conecto con la base de datos $conn = mysql_connect("localhost","root",""); mysql_select_db("nombre_bd",$conn); function quitar($mensaje) { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("\'","'",$mensaje); $mensaje = str_replace('\"',""",$mensaje); $mensaje = str_replace("\\\\","\",$mensaje); return $mensaje; } if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "" && trim($HTTP_POST_VARS["password"]) != "") { $sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'"; $result = mysql_query($sql); if($row = mysql_fetch_array($result)) { echo "ERROR, el NOMBRE DE USUARIO ya fue escogido por otra persona"; } else { $sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES ("; $sql .= "'".quitar($HTTP_POST_VARS["nick"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["password"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["email"])."'"; $sql .= ")"; mysql_query($sql); echo "Registro exitoso! Ud. ya pertenece a nuestra comunidad de Usuarios."; } mysql_free_result($result); } else { echo "ERROR. Por favor, debe completar los DATOS OBLIGATORIOS"; } mysql_close(); ?> </body> </html> Lo que no sé es extraer los datos de la BD para enviarselo al mail que acaba de ingresar en el formulario. Y como consultar al la BD y extraer la contraseña cuando se la olvide. Gracias |
| |||
Para el acceso restringido estoy usando: Archivo del formulario: index.php <html> <head> <title>Documento sin título</title> </head> <form action="control.php" method="POST"> <table align="center" width="331" cellspacing="2" cellpadding="2" border="0"> <tr> <td colspan="2" align="center" <?if ($_GET["errorusuario"]=="si"){?> bgcolor=red><span style="color:ffffff"><b><font size="3">Datos incorrectos</font></b></span> <?}else{?> bgcolor=#cccccc><font size="3"><strong>Introduzca sus datos de acceso</strong></font> <?}?> </td> </tr> <tr> <td width="217" align="right"><font size="3"><strong>Nombre de Usuario:</strong></font></td> <td width="100"><input type="Text" name="usuario" size="25" maxlength="50"></td> </tr> <tr> <td align="right"><font size="3"><strong>Password:</strong></font></td> <td><input type="password" name="contrasena" size="25" maxlength="50"></td> </tr> <tr> <td colspan="2" align="center"><input name="Submit" type="Submit" value="Entrar"></td> </tr> </table> </form> </body> </html> Consulta a la BD control.php <? //conecto con la base de datos $conn = mysql_connect("localhost","root",""); //selecciono la BBDD mysql_select_db("nombre_bd",$conn); //Sentencia SQL para buscar un usuario con esos datos $ssql = "SELECT * FROM usuarios WHERE nick='$usuario' and password='$contrasena'"; //Ejecuto la sentencia $rs = mysql_query($ssql,$conn); //vemos si el usuario y contraseña es váildo //si la ejecución de la sentencia SQL nos da algún resultado //es que si que existe esa conbinación usuario/contraseña if (mysql_num_rows($rs)!=0){ //usuario y contraseña válidos //defino una sesion y guardo datos session_start(); session_register("autentificado"); $autentificado = "SI"; header ("Location: aplicacion.php"); }else { //si no existe le mando otra vez a la portada header("Location: index.php?errorusuario=si"); } mysql_free_result($rs); mysql_close($conn); ?> Compruebo los datos: seguridad.php <? //Inicio la sesión session_start(); //COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO if ($_SESSION["autentificado"] != "SI") { //si no existe, envio a la página de autentificacion header("Location: index.php"); //ademas salgo de este script exit(); } ?> La pagina de la aplicacion: aplicacion.php <?include ("seguridad.php");?> <html> <head> <title>Documento sin título</title> </head> <body leftmargin="0" topmargin="0"> <p><strong><font size="4">Ud se ha autenticado y entró a la página de usuarios registrados</font></strong></p> <p>------------------------------------</p> <p><font size="2" face="Tahoma">Si desea salir, haga click acá <a href="salir.php">Salir</a></font> </p></body> </html> y la de cierre de sesion: salir.php <? session_start(); session_destroy(); ?> <html> <head> <title>Documento sin título</title> </head> <font size="4">Gracias, lo esperamos nuevamente.</font><br> <br> <a href="index.php">Volver al formulario de Ingreso</a> <br> <br> <a href="formulario_registro.htm">Registrar un nuevo usuario</a> </body> </html> |
| ||||
http://www.forosdelweb.com/f18/enviar-password-perdido-via-email-con-php-176873/ haber si te sirve de algo , saludos |
| |||
GRACIAS, lo tuyo no es macabro es grandioso !!! Para recuperar la contraseña El formulario: recuperar.php <? $email = $_POST['email']; ?> <html> <form action="enviar_datos.php\" method=\"post\" > Por favor inserte su e-mail:<br> <input type="text" name="email"><br> <input type="submit" value="Enviar" name="go"> </form> </html> Envio el mail con la contraseña enviar_datos.php <?php //conecto con la base de datos $conn = mysql_connect("localhost","root",""); mysql_select_db("nuestra_bd",$conn); // Seleccionamos el email de la base de datos para verificar $result = @mysql_query("SELECT email,password FROM usuarios WHERE email='$email'"); if (!$result) { echo("<p>Error al seleccionar tabla: " . mysql_error() . "</p>"); exit(); } //Chekeamos si existe el email $sql_check_num = mysql_num_rows($result); if($sql_check_num == 0){ echo "<table width='467'><tr><td><font color=ff0000 face=verdana>El e-mail <b >$email</b> no fue encontrado en nuestra base de datos</font><br /> <center> <p> <form action=\"enviar_datos.php\" method=\"post\"> Intente de nuevo: <input type=\"text\" name=\"email\"> <input type=\"submit\" value=\"Enviar\" name=\"go\"> </form> </p></center></td><tr></table>"; exit(); } // Si va todo bien sacamos todo de la base de datos while ( $row = mysql_fetch_array($result) ) { $email = $row["email"]; $password = $row ["password"]; } // creamos el email $mensaje = "Su password es: \n $password "; $email_webmaster = "[email protected]"; $asunto = "Su contraseña de Usuario Registrado"; mail($email,$asunto,$mensaje,"FROM: $email_webmaster"); //le decimos al usuario que fue enviado su password //y que vaya rrapido a revisar su correo electronico echo ("<table width='467'><tr><td>Tu password ha sido enviado al siguiente correo: $email <br> por favor dirigirse a <a href='../index.php'>sector miembros para ingresar </a> </td><tr></table>"); ?> Para enviar un mail con los datos al momento de registrarse Armé el nuevo archivo registrar.php <? $email = $_POST['email']; ?> <html> <head> <title>Documento sin título</title> </head> <?php //conecto con la base de datos $conn = mysql_connect("localhost","root",""); mysql_select_db("nuestra_bd",$conn); function quitar($mensaje) { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("\'","'",$mensaje); $mensaje = str_replace('\"',""",$mensaje); $mensaje = str_replace("\\\\","\",$mensaje); return $mensaje; } if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "" && trim($HTTP_POST_VARS["password"]) != "") { $sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'"; $result = mysql_query($sql); if($row = mysql_fetch_array($result)) { echo "ERROR, el NOMBRE DE USUARIO ya fue escogido por otra persona"; } else { // creamos el email { $mensaje = "Gracias por registrarse en infopuerta.com.ar Su nombre de usuario es: \n $nick Su password es: \n $password Su email registrado es: \n $email "; $email_webmaster = "[email protected]"; $asunto = "Sus datos de Usuario Registrado"; mail($email,$asunto,$mensaje,"FROM: $email_webmaster"); } // exportamos los datos a la BD $sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES ("; $sql .= "'".quitar($HTTP_POST_VARS["nick"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["password"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["email"])."'"; $sql .= ")"; mysql_query($sql); echo "Registro exitoso! Ud. ya pertenece a nuestra comunidad de Usuarios."; //le decimos al usuario que fue enviado un mail con sus datos //y revise su correo electronico echo ("<table width='467'><tr><td>Sus datos de registro han sido enviado al siguiente correo: $email <br> por favor dirigirse a <a href='index.php'>sector miembros para ingresar </a> </td><tr></table>"); } mysql_free_result($result); } else { echo "ERROR. Por favor, debe completar los DATOS OBLIGATORIOS"; } mysql_close(); ?> </body> </html> Espero que le sirva a otro MUCHAS GRACIAS |