Foros del Web » Creando para Internet » Flash y Actionscript »

Recuperar nick y password mediante mail

Estas en el tema de Recuperar nick y password mediante mail en el foro de Flash y Actionscript en Foros del Web. Hola a todos, vamos a ver pq tengo un problemilla complicado que no se pq no me funciona. Os cuento, tengo una database para registro ...
  #1 (permalink)  
Antiguo 10/03/2005, 12:56
 
Fecha de Ingreso: febrero-2005
Mensajes: 52
Antigüedad: 12 años, 9 meses
Puntos: 0
Recuperar nick y password mediante mail

Hola a todos, vamos a ver pq tengo un problemilla complicado que no se pq no me funciona. Os cuento, tengo una database para registro de usuarios con login y password cuya estructura es: tabla "usuarios" y los campos:
"nick", "password", "email" entre otros k no me hacen falta en este codigo.

Un flash en el que hay un cuadro de texto tipo InputText con nombre de instancia "rec_mail" y un boton "mailbut" que al pulsar sobre el transfiere datos con el objeto de k llegue un mail al usuario con su nick y password correspondiente. A continuacion pongo los codigos del actionscript y del php pero por la web siempre me sale "problemes servidor".

//Actionscript puesto en un keyframe de un layer Act_registro//

Código:
enviar = function () {
if (rec_mail.text.length) //Comprobamos si el campo rec_mail esta vacío
{
//creamos variables
form_lv = new LoadVars();
form_lv.mail = rec_mail.text;
//enviamos variables a pass.php
form_lv.sendAndLoad("pass.php", form_lv, "POST"); //escribe URL real de pass.php
rec_mail.text = "Enviant dades al sistema...";
form_lv.onLoad = function()
{
//comprobamos variable devuelta
if (this.estatus == "ok") {
rec_mail.text = "Dades enviades correctament.";
}
if (this.estatus == "pass") {
rec_mail.text = "Email incorrecte.";
}
if (this.estatus != "pass" && this.estatus != "ok") {
rec_mail.text = "Problemes amb el servidor.";
}
};
}
else{
rec_mail.text = "Introdueix el teu email";
}
};
mailbut.onRelease = enviar;
stop();
//codigo pass.php//

Código PHP:
<?
include('conexion.php'); //conectamos a la BD
$link Conectarse();
if(isset(
$_POST["mail"]))
{
$mail $_POST["mail"];
//recuperamos el nombre de usuario y la contraseña
$result mysql_query("SELECT nick,password FROM usuarios WHERE email='$mail'"); //consultamos BD
if($row mysql_fetch_array($result)) //si existe el la dirección de email
{
$nickL $row["nick"]; //capturamos nick
$passL $row["password"]; //capturamos contraseña
$asunto "Datos privados. www.tuweb.com"//configura el nombre de tu web
$mensaje "Usuario: ".$nickL." Contraseña: ".$passL.""//mensaje a enviar
mail("$mail","$asunto","$mensaje"); //mandamos el mail
echo "&estatus=ok&"//mensaje enviado correctamente
}
else
{
//email incorrecto
echo "&estatus=pass&";
?>
//conexion.php//

Código PHP:
<? // Fichero con los datos de conexión a la BBDD
function Conectarse()
{
$db_host="host"// Host al que conectar, habitualmente es el ‘localhost’
$db_nombre="DBname"// Nombre de la Base de Datos que se desea utilizar
$db_user="user"// Nombre del usuario con permisos para acceder
$db_pass="password"// Contraseña de dicho usuario
// Ahora estamos realizando una conexión y la llamamos ‘$link’
$link=mysql_connect($db_host$db_user$db_pass) or die ("Error conectando a la base de datos.");
// Seleccionamos la base de datos que nos interesa
mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.
return $link;
}
?>
Alguien encuentra el fallo o se le ocurre una idea?? Es importante que me funcione. Gracias !!!

Última edición por TMeister; 10/03/2005 a las 13:16
  #2 (permalink)  
Antiguo 10/03/2005, 13:23
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 15 años, 11 meses
Puntos: 193
Primero. Por favor usas las etiquetas para el codigo es mucho mas facil leer el codigo cuando esta coloreado.. :)

Segundo. en la funcion onLoad del loadVar imprime tu variable estatus para ver que regresa el php

Código:
trace(this.estatus)
Tercero. Tu servidor es local o remoto? si el local debes hacer la llamada al php con el path absoluto "http://localhost/lala/tuphp.php"

Cuarto asegurate que tu servidor tenga la funcion mail activada del PHP.
  #3 (permalink)  
Antiguo 10/03/2005, 17:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 52
Antigüedad: 12 años, 9 meses
Puntos: 0
Creo que no me identifica la variable Mail

Hola antetodo disculpas pq no sabia eso sobre los codigos y aun no se como ponerlos con colorines y eso pero intentare espavilarme.

En cuanto a lo otro mi servidor si k permite php y creo k conecta pq tengo un registro con la funcion conectarse () y me funciona. Yo creo mas bien que no me coge la variable mail cuando la busca en la DB. Alguien me puede hechar una mano con los codigos? ...Siempre me pasa lo mismo (me tendran mania?, jejeje)

Saludos.
  #4 (permalink)  
Antiguo 11/03/2005, 21:17
Avatar de Niconirva  
Fecha de Ingreso: marzo-2005
Mensajes: 119
Antigüedad: 12 años, 9 meses
Puntos: 0
Prueba con esto....

Hola amigo, te doy una mano con la mania que te tienen los codigos.., primero te iva a sugerir que cambiar la linea de la función mail (dude si las comillas ivan..) te iva a sugerir esto:

mail("$mail","$asunto","$mensaje"); <-cambiarla por-> mail($mail,$asunto,$mensaje);

Pero mirando con mas detenimiento me di cuenta que tienes errores más evidentes..., tienes mal cerradas las sentecias del los if/else y esto hace un script ininterpretable por el servidor..., te propongo que corrijas el pass.php con este nuevo:

Código PHP:
<? 
include('conexion.php'); //conectamos a la BD 
$link Conectarse(); 
if(isset(
$_POST["mail"])) 

$mail $_POST["mail"]; 
//recuperamos el nombre de usuario y la contraseña 
$result mysql_query("SELECT nick,password FROM usuarios WHERE email='$mail'"); //consultamos BD 
if($row mysql_fetch_array($result)) //si existe el la dirección de email 

$nickL $row["nick"]; //capturamos nick 
$passL $row["password"]; //capturamos contraseña 
$asunto "Datos privados. www.tuweb.com"//configura el nombre de tu web 
$mensaje "Usuario: ".$nickL." Contraseña: ".$passL.""//mensaje a enviar 
mail("$mail","$asunto","$mensaje"); //mandamos el mail 
echo "&estatus=ok&"//mensaje enviado correctamente 

else 

//email incorrecto 
echo "&estatus=pass&";}}
?>
Fijate que lo único que hice fue agregar dos llaves (}) en la última linea. La primer llave cierra la sentencia del último "else" del Script y la segunda llave cierra la sentencia del primer if(isset($_POST["mai....
Espero que asi ande,.. como recomendación, para que resuelvas mas rapido este tipo de cuestiones en el futuro es que crees en HTML el analogo de lo que tenes en flash (sin nada de grafica, simple y feo, ja!) total es para ver que esta pasando,.., con esta creación alternativa en HTML haz andar tus Script de php y de esta manera obtendras descripción de los errores existentes así como tambien de la linea que estan, y de esta manera agilizaras tu trabajo, y tambien, porque no, el nuestro si tambien incluyes en tus post los errores expuestos por el apache (es muy útil verlos!)...
Espero, haberte ayudado, sino, ya sabes! Un abrazo
__________________
"Quien no peca contra la ciencia no descubre nada"
Albert Einstein

Última edición por Niconirva; 11/03/2005 a las 21:22
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 21:01.