Foros del Web » Programando para Internet » PHP »

Como incluir variables??

Estas en el tema de Como incluir variables?? en el foro de PHP en Foros del Web. Buenas, pese a ser un profano en el tema del php, he conseguido tomando un poco de allí y de acá, viendo ejemplos y modificandolos ...
  #1 (permalink)  
Antiguo 11/11/2008, 16:05
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Como incluir variables??

Buenas, pese a ser un profano en el tema del php, he conseguido tomando un poco de allí y de acá, viendo ejemplos y modificandolos crear un pequeño sistema de login que va a la perfección.
Ahora me he aventurado en crear un pequeño sistema para recuperar un pass olvidado enviandoselo al usuario a su correo.
El problemas es que no consigo(ni se) definir las variables $usuario y $contrasena para que sean datos tomados de mi base de datos. Pongo el código a ver quien tiene la gentileza y la amabilidad de ayudarme:

Código PHP:
<?php
error_reporting
(E_ALL); 
ini_set('Display_errors'true); 
// 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  
$mail=$_POST['mail']; 
//conecto con la base de datos  
$conn mysql_connect("localhost","*****","******");  
//selecciono la BBDD  
mysql_select_db("aerotechdb",$conn); 
// Consultamos si existe $mail_usuario 
$res=mysql_query("SELECT mail_usuario FROM mi_db WHERE mail_usuario='$mail'"); 
if (
mysql_num_rows($res)==0) { 
// Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion 
header("Location: recuperacion.php?errorusuario=si"); 

else { 
// Si existe, buscamos en la bd 
$res=mysql_query("SELECT mail_usuario FROM mi_db WHERE mail_usuario='$mail'"); 
header ("Location: http://www.miweb.es/graciasrecuperacion.php");

// enviamos el email de recuperacion 
$headers "MIME-Version: 1.0\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"
mail($mail"Recuperación de password""Sus datos son los siguientes:
Nombre: $usuario 
Contraseña: $contrasena. 
Muchas gracias por la consulta."
$headers); 

?>
Como defino las variables $usuario y $contrasena para que sean los datos 'nombre_usuario' y 'clave_usuario' que corresponde al correo en mi base de datos? Por favor, alguien?
  #2 (permalink)  
Antiguo 11/11/2008, 16:21
 
Fecha de Ingreso: octubre-2008
Mensajes: 102
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Como incluir variables??

$res=mysql_query("SELECT mail_usuario FROM mi_db WHERE mail_usuario='$mail'");

pones en el select: nombre_usuario y clase_usuario y luego con un mysql_fetch_array sacas esos datos.
  #3 (permalink)  
Antiguo 11/11/2008, 16:30
_CH
 
Fecha de Ingreso: noviembre-2008
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Como incluir variables??

Mira solo lo pones asi :

claro tienes que modificar tu para que sean los campos de tu base (usuario y contraseña)

Código PHP:
<?php 
error_reporting
(E_ALL);  
ini_set('Display_errors'true);  
// 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   
$mail=$_POST['mail'];  
//conecto con la base de datos   
$conn mysql_connect("localhost","*****","******");   
//selecciono la BBDD   
mysql_select_db("aerotechdb",$conn);  
// Consultamos si existe $mail_usuario  
$res=mysql_query("SELECT mail_usuario FROM mi_db WHERE mail_usuario='$mail'");  
if (
mysql_num_rows($res)==0) {  
// Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion  
header("Location: recuperacion.php?errorusuario=si");  
}  
else {  
// Si existe, buscamos en la bd  
$res=mysql_query("SELECT usuario, password FROM mi_db WHERE mail_usuario='$mail'");
$rec_usr mysql_result($res,0,'usuario');
$rec_pwd mysql_result($res,0,'password ');
header ("Location: http://www.miweb.es/graciasrecuperacion.php"); 

// enviamos el email de recuperacion  
$headers "MIME-Version: 1.0\r\n";  
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";  
mail($mail"Recuperación de password""Sus datos son los siguientes: 
Nombre: $rec_usr
Contraseña: $rec_usr
Muchas gracias por la consulta."
$headers);  
}  
?>
  #4 (permalink)  
Antiguo 11/11/2008, 17:59
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
Respuesta: Como incluir variables??

No es necesario que hagas 2 veces la misma consulta..

Simplemente puedes hacerla una sola vez.. si hay resultado.. o la consulta retorna al menos 1 fila.. entonces el email existe por lo que solamente faltaria obtener el resto de los resultados y enviar el mail.. creo que estas escribiendo mas codigo de el que puedes necesitar..
  #5 (permalink)  
Antiguo 12/11/2008, 01:52
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Como incluir variables??

Muchas gracias _CH. Lo voy a probar y te digo. Lo que ocurre ahora sin venir a cuento es, que cuando el primer código que usaba ayer funcionaba perfectamente, aunque enviando las variables en blanco a mi correo, hoy no envia nada!!! O_o' No entiendo nada ya
  #6 (permalink)  
Antiguo 14/11/2008, 03:23
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Como incluir variables??

Vale, el problema de hace unos dias se arregló solo. Si bien solo me llegaban los correos a cuentas que no fueran hotmail, ahora ya me llegan a hotmail. No se si será porque hotmail bloquea los correos de este tipo hasta que hace alguna verificación de que no son Spam o es por arte de mágia. De todas formas, gracias a los que me habeis ayudado anteriormente. Todo va a la perfección.
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 16:03.