02/06/2009, 13:11
|
| | Fecha de Ingreso: septiembre-2008
Mensajes: 185
Antigüedad: 16 años, 1 mes Puntos: 1 | |
recuperar contraseña olvidada He encontrado este aporte y querría implementarlo en mi web.
Como se puede ver el campo username lo quiero utilizar como campo de
e-mail .
Un poco más abajo también comenta que las variables de conexion se suelen poner en un fichero de configuracion concretamente en include("config.php");
Querría preguntaros dos cuestiónes:
¿ Este código os parece correcto ? y la segunda cuestión ¿ que debo incluir exactamente en el config.php?
Haber si me podeis decir algo , solucionar este punto sería un gran avance
en la web
<?php
// Este fichero recibe y procesa los datos del formulario de
recuperacion de contraseña
// en el que se escriben usuario y email
// recogemos las variables enviadas por el formulario
$nombreusuario=$_POST['username'];
// Conectamos a la base de datos
$con=mysql_connect('localhost','xxxxx','xxxx')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('base_ippcv')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
// Las variables de conexion se suelen poner en un fichero de configuracion que se incluye
include("config.php");
// Consultamos si existe $nombreusuario + $emailusuario
$res=mysql_query("SELECT username FROM usuarios WHERE username='$username'");
if (mysql_num_rows($res)==0) {
// Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion
echo "Email no existe en la base de datos.";
}
else {
// Si existe, buscamos en la bd
$res=mysql_query("SELECT username,password FROM usuarios WHERE username='$username',password='$random'");
$row=mysql_fetch_assoc($res);
//Generar contraseña aleatoria
function generar_id($length)
{
$str = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLM NOPQRSTUVWXYZ";
for($i=0;$i<$length;$i++)
$key .= $str[mt_rand(0,strlen($str)-1)];
return $key;
}
$random = generar_id(15);
// enviamos el email de recuperacion
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
mail($email, "Recuperación", "Sus datos en nuestra web son: $username, $random, www.i.org", $headers);
$random=md5($random);
$query = "UPDATE usuarios
SET password = '$random' WHERE username ='$username' " ;
mysql_query($query) or die(mysql_error());
}
?> |