Foros del Web » Programando para Internet » PHP »

imprimir despues de $_POST

Estas en el tema de imprimir despues de $_POST en el foro de PHP en Foros del Web. el envio.php lo tengo asi @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $destinatario_form = $_POST [ 'destinatario' ] ; $usuario = 'postgres' ; $contrasenia = '*****' ...

  #31 (permalink)  
Antiguo 13/12/2012, 16:29
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

el envio.php lo tengo asi

Código PHP:
Ver original
  1. $destinatario_form = $_POST['destinatario'];
  2. $usuario = 'postgres';
  3. $contrasenia = '*****';
  4.    
  5.             try {
  6.  
  7.                 $db = new PDO('pgsql:host=192.168.102.200;dbname=volcanoes',$usuario,$contrasenia);
  8.                 }catch(PDOException $e) {
  9.                 echo "Usuario y Clave Invalidas";
  10.                 throw new Exception("Usuario y Clave Invalidas", 0, $e);
  11.                 }
  12.  
  13.  
  14. $consulta = $db->prepare("SELECT * FROM usuarios WHERE usu_correo ='$destinatario_form'");
  15. $consulta->execute();
  16.  
  17. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  18.     {
  19.         $hash=$fila['usu_clave'];
  20.     }
  21.  
  22.  
  23. require_once('phpMailer/class.phpmailer.php');
  24. require_once("phpMailer/class.smtp.php");
  25.  
  26. $consulta->execute();
  27. $cuenta = $consulta->rowCount();
  28. if($cuenta == 1){
  29.  
  30. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  31.     {
  32.        
  33.         $hash=$fila['usu_clave'];
  34.         $destinatario=$fila['usu_correo'];
  35.  
  36.     }
  37. require_once('phpMailer/class.phpmailer.php');
  38. require_once("phpMailer/class.smtp.php");
  39.  
  40.  
  41.  
  42. $mail = new PHPMailer(true);
  43. $mail->IsSMTP();
  44. $mail->Host       = '172.25.1.3';
  45. $mail->SMTPDebug  = 0;                
  46. $mail->SMTPAuth   = false;
  47. $mail->SMTPSecure = 'SSL';
  48. $mail->Port       = 25;                  
  49. $mail->Subject = "Asunto del correo";
  50. $mail->AddAddress($destinatario);
  51. $mail->SetFrom('[email protected]','Fenomenos Volcanicos');
  52. $mail->Subject = 'Recuperacion Contraseña';
  53. $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
  54. $mail->MsgHTML("<a href='http://192.168.102.9/volcanicos&time=".time()."&id=".$hash."'>".Recuperar.Contraseña."</a>"."<br>".$hash);
  55. if(!$mail->Send()) {
  56. $validate = "Mailer Error: " . $mail->ErrorInfo;
  57. } else {
  58. $validate =  "Message sent!";
  59. }
  60. }else{
  61. }

en confirmacion.php

Código PHP:
Ver original
  1. echo $validate;

al enviar el correo satisfactoriamente obgtengo Message sent!

y cuando no lo envia no aparece nada

que estoy haciendo mal?
  #32 (permalink)  
Antiguo 13/12/2012, 16:45
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

esta perfecto

El solo te reporta si ha sucedido un error en el envio, mientras se encuentre en el servidor.

prueba produciendo errores en la direccion del email etc ....
  #33 (permalink)  
Antiguo 13/12/2012, 16:54
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

webankenovi pense que si habia un error me deberia de imprimir Mailer Error:

Cita:
prueba produciendo errores en la direccion del email etc ....
ese ya lo probe pero si no esta el correo en base de datos no cuenta los registros y se va a el else, el error que quiero mostrar es al momento de que el servidor de correo tenga problema o por algun motivo no se envie el correo.

Código PHP:
Ver original
  1. $$destinatario_form = $_POST['destinatario'];
  2. $usuario = 'postgres';
  3. $contrasenia = '*****';
  4.    
  5.             try {
  6.  
  7.                 $db = new PDO('pgsql:host=192.168.102.200;dbname=volcanoes',$usuario,$contrasenia);
  8.                 }catch(PDOException $e) {
  9.                 echo "Usuario y Clave Invalidas";
  10.                 throw new Exception("Usuario y Clave Invalidas", 0, $e);
  11.                 }
  12.  
  13.  
  14. $consulta = $db->prepare("SELECT * FROM usuarios WHERE usu_correo ='$destinatario_form'");
  15. $consulta->execute();
  16.  
  17. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  18.     {
  19.         $hash=$fila['usu_clave'];
  20.     }
  21.  
  22.  
  23. require_once('phpMailer/class.phpmailer.php');
  24. require_once("phpMailer/class.smtp.php");
  25.  
  26. $consulta->execute();
  27. $cuenta = $consulta->rowCount();
  28. if($cuenta == 1){
  29.  
  30. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  31.     {
  32.        
  33.         $hash=$fila['usu_clave'];
  34.         $destinatario=$fila['usu_correo'];
  35.  
  36.     }
  37. require_once('phpMailer/class.phpmailer.php');
  38. require_once("phpMailer/class.smtp.php");
  39.  
  40.  
  41.  
  42. $mail = new PHPMailer(true);
  43. $mail->IsSMTP();
  44. $mail->Host       = '172.25.1.3';
  45. $mail->SMTPDebug  = 0;                
  46. $mail->SMTPAuth   = false;
  47. $mail->SMTPSecure = 'SSL';
  48. $mail->Port       = 25;                  
  49. $mail->Subject = "Asunto del correo";
  50. $mail->AddAddress($destinatario);
  51. $mail->SetFrom('[email protected]','Fenomenos Volcanicos');
  52. $mail->Subject = 'Recuperacion Contraseña';
  53. $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
  54. $mail->MsgHTML("<a href='http://192.168.102.9/volcanicos&time=".time()."&id=".$hash."'>".Recuperar.Contraseña."</a>"."<br>".$hash);
  55. if(!$mail->Send()) {
  56. $validate = "Mailer Error: " . $mail->ErrorInfo;
  57. } else {
  58. $validate =  "Mensaje Enviado Satisfactoriamente a:"."<br>".$destinatario;
  59. }
  60. }else{
  61.  
  62. $validate = "El correo"." ".$destinatario_form."<br>"."No esta Asociado a ningun usuario del Sistema";
  63.  
  64. }
  #34 (permalink)  
Antiguo 13/12/2012, 16:56
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

de todas maneras no deberias dar esa informacion al usuario deberias de darle un mensaje generico

$validate = "Mailer Error: " . $mail->ErrorInfo;

$validate = "Se produjo un error en el envio del email , pruebe a intentarlo otra vez";


envio.php

Código PHP:
Ver original
  1. if(!$mail->Send()) {
  2. $validate = false;
  3. } else {
  4. $validate =  true;
  5. }

confirmacion.php

Código PHP:
Ver original
  1. if($validate)) {
  2. echo "Email enviado correctamente";
  3. } else {
  4. echo "Se produjo un error en el envio del email , pruebe a intentarlo otra vez";
  5. include('views/frm_recuperar_contasena.php');
  6. }

Última edición por webankenovi; 13/12/2012 a las 17:03
  #35 (permalink)  
Antiguo 13/12/2012, 17:09
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

no me funciono de la manera que me indicas , que estoy haciendo mal?

envio.php
Código PHP:
Ver original
  1. $destinatario_form = $_POST['destinatario'];
  2. $usuario = 'postgres';
  3. $contrasenia = '*****';
  4.    
  5.             try {
  6.  
  7.                 $db = new PDO('pgsql:host=192.168.102.200;dbname=volcanoes',$usuario,$contrasenia);
  8.                 }catch(PDOException $e) {
  9.                 echo "Usuario y Clave Invalidas";
  10.                 throw new Exception("Usuario y Clave Invalidas", 0, $e);
  11.                 }
  12.  
  13.  
  14. $consulta = $db->prepare("SELECT * FROM usuarios WHERE usu_correo ='$destinatario_form'");
  15. $consulta->execute();
  16.  
  17. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  18.     {
  19.         $hash=$fila['usu_clave'];
  20.     }
  21.  
  22.  
  23. require_once('phpMailer/class.phpmailer.php');
  24. require_once("phpMailer/class.smtp.php");
  25.  
  26. $consulta->execute();
  27. $cuenta = $consulta->rowCount();
  28. if($cuenta == 1){
  29.  
  30. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  31.     {
  32.        
  33.         $hash=$fila['usu_clave'];
  34.         $destinatario=$fila['usu_correo'];
  35.  
  36.     }
  37. require_once('phpMailer/class.phpmailer.php');
  38. require_once("phpMailer/class.smtp.php");
  39.  
  40.  
  41.  
  42. $mail = new PHPMailer(true);
  43. $mail->IsSMTP();
  44. $mail->Host       = '172.25.1.3';
  45. $mail->SMTPDebug  = 0;                
  46. $mail->SMTPAuth   = false;
  47. $mail->SMTPSecure = 'SSL';
  48. $mail->Port       = 25;                  
  49. $mail->Subject = "Asunto del correo";
  50. $mail->AddAddress($destinatario);
  51. $mail->SetFrom('[email protected]','Fenomenos Volcanicos');
  52. $mail->Subject = 'Recuperacion Contraseña';
  53. $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
  54. $mail->MsgHTML("<a href='http://192.168.102.9/volcanicos&time=".time()."&id=".$hash."'>".Recuperar.Contraseña."</a>"."<br>".$hash);
  55. if(!$mail->Send()) {
  56. $validate = false;
  57. } else {
  58. $validate =  true;
  59. }
  60. }else{
  61.  
  62. $validate = "El correo"." ".$destinatario_form."<br>"."No esta Asociado a ningun usuario del Sistema";
  63.  
  64. }

confirmacion.php
Código PHP:
Ver original
  1. if($validate == true)) {
  2. echo "Email enviado correctamente";
  3. } else {
  4. echo "Se produjo un error en el envio del email , pruebe a intentarlo otra vez";
  5. include('views/frm_recuperar_contasena.php');
  6. }
  #36 (permalink)  
Antiguo 13/12/2012, 17:14
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

cuando tengas un error , intenta explicar lo mejor que puedas que sucedio que imprime etc.. con no me funciono no es facil saber el por que

veo que quieres usar tambien validate para el correo sube el codigo de confirmacion entero por favor
  #37 (permalink)  
Antiguo 13/12/2012, 17:25
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

webankenovi disculpeme.

si ingreso un correo invalido o valido me aparece la pantalla en blanco

envio.php
Código PHP:
Ver original
  1. ini_set ('error_reporting', E_ALL);
  2. $destinatario_form = $_POST['destinatario'];
  3. $usuario = 'postgres';
  4. $contrasenia = '*****';
  5.    
  6.             try {
  7.  
  8.                 $db = new PDO('pgsql:host=192.168.102.200;dbname=volcanoes',$usuario,$contrasenia);
  9.                 }catch(PDOException $e) {
  10.                 echo "Usuario y Clave Invalidas";
  11.                 throw new Exception("Usuario y Clave Invalidas", 0, $e);
  12.                 }
  13.  
  14.  
  15. $consulta = $db->prepare("SELECT * FROM usuarios WHERE usu_correo ='$destinatario_form'");
  16. $consulta->execute();
  17.  
  18. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  19.     {
  20.         $hash=$fila['usu_clave'];
  21.     }
  22.  
  23.  
  24. require_once('phpMailer/class.phpmailer.php');
  25. require_once("phpMailer/class.smtp.php");
  26.  
  27. $consulta->execute();
  28. $cuenta = $consulta->rowCount();
  29. if($cuenta == 1){
  30.  
  31. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  32.     {
  33.        
  34.         $hash=$fila['usu_clave'];
  35.         $destinatario=$fila['usu_correo'];
  36.  
  37.     }
  38. require_once('phpMailer/class.phpmailer.php');
  39. require_once("phpMailer/class.smtp.php");
  40.  
  41.  
  42.  
  43. $mail = new PHPMailer(true);
  44. $mail->IsSMTP();
  45. $mail->Host       = '172.25.1.3';
  46. $mail->SMTPDebug  = 0;                
  47. $mail->SMTPAuth   = false;
  48. $mail->SMTPSecure = 'SSL';
  49. $mail->Port       = 25;                  
  50. $mail->Subject = "Asunto del correo";
  51. $mail->AddAddress($destinatario);
  52. $mail->SetFrom('[email protected]','Fenomenos Volcanicos');
  53. $mail->Subject = 'Recuperacion Contraseña';
  54. $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
  55. $mail->MsgHTML("<a href='http://192.168.102.9/volcanicos&time=".time()."&id=".$hash."'>".Recuperar.Contraseña."</a>"."<br>".$hash);
  56. if(!$mail->Send()) {
  57. $validate = false;
  58. } else {
  59. $validate =  true;
  60. }
  61.  
  62. }else{
  63.  
  64. $validate = "El correo"." ".$destinatario_form."<br>"."No esta Asociado a ningun usuario del Sistema";
  65.  
  66. }

y en confirmacion solo tengo este codigo php

Código PHP:
Ver original
  1. <?
  2.     ini_set ('error_reporting', E_ALL);
  3. if($validate==true)) {
  4. echo "Email enviado correctamente";
  5. } else {
  6. echo "Se produjo un error en el envio del email , pruebe a intentarlo otra vez";
  7.  
  8. }
  #38 (permalink)  
Antiguo 13/12/2012, 17:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

ok haber :

en envio.php

Código PHP:
Ver original
  1. <php
  2.  
  3. ini_set ('error_reporting',-1);
  4.  
  5. $destinatario_form = $_POST['destinatario'];
  6. $usuario = 'postgres';
  7. $contrasenia = '*****';
  8.    
  9.             try {
  10.  
  11.                 $db = new PDO('pgsql:host=192.168.102.200;dbname=volcanoes',$usuario,$contrasenia);
  12.                 }catch(PDOException $e) {
  13.                 echo "Usuario y Clave Invalidas";
  14.                 throw new Exception("Usuario y Clave Invalidas", 0, $e);
  15.                 }
  16.  
  17.  
  18. $consulta = $db->prepare("SELECT * FROM usuarios WHERE usu_correo ='$destinatario_form'");
  19. $consulta->execute();
  20.  
  21. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  22.     {
  23.         $hash=$fila['usu_clave'];
  24.     }
  25.  
  26.  
  27. require_once('phpMailer/class.phpmailer.php');
  28. require_once("phpMailer/class.smtp.php");
  29.  
  30. $consulta->execute();
  31. $cuenta = $consulta->rowCount();
  32. if($cuenta == 1){
  33.  
  34. while($fila = $consulta->fetch(PDO::FETCH_ASSOC))
  35.     {
  36.        
  37.         $hash=$fila['usu_clave'];
  38.         $destinatario=$fila['usu_correo'];
  39.  
  40.     }
  41. require_once('phpMailer/class.phpmailer.php');
  42. require_once("phpMailer/class.smtp.php");
  43.  
  44.  
  45.  
  46. $mail = new PHPMailer(true);
  47. $mail->IsSMTP();
  48. $mail->Host       = '172.25.1.3';
  49. $mail->SMTPDebug  = 0;                
  50. $mail->SMTPAuth   = false;
  51. $mail->SMTPSecure = 'SSL';
  52. $mail->Port       = 25;                  
  53. $mail->Subject = "Asunto del correo";
  54. $mail->AddAddress($destinatario);
  55. $mail->SetFrom('[email protected]','Fenomenos Volcanicos');
  56. $mail->Subject = 'Recuperacion Contraseña';
  57. $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
  58. $mail->MsgHTML("<a href='http://192.168.102.9/volcanicos&time=".time()."&id=".$hash."'>".Recuperar.Contraseña."</a>"."<br>".$hash);
  59.  
  60. if( ! $mail->Send())
  61. {
  62.     $validate = 1;
  63. }
  64. else
  65. {
  66.     $validate =  2;
  67. }
  68.  
  69. }
  70. else
  71. {
  72.     $validate = 0;
  73. }
  74.  
  75. ?>


confirmacion.php

Código PHP:
Ver original
  1. <?php
  2.    
  3. ini_set ('error_reporting', -1);
  4.  
  5. switch($validate)
  6. {
  7.     case 0:
  8.     echo 'El correo '.$destinatario_form.'<br>No esta Asociado a ningun usuario del Sistema';
  9.     break;
  10.  
  11.     case 1:
  12.     echo 'Se produjo un error en el envio del email , pruebe a intentarlo otra vez';
  13.     break;
  14.  
  15.     case 2:
  16.     echo 'Email enviado correctamente';
  17.     break;
  18.  
  19.     default :
  20.     echo 'se produjo en error';
  21. }
  22.  
  23. ?>

ahora con un switch y una variable manejas todos los mensajes , prueba haber
  #39 (permalink)  
Antiguo 13/12/2012, 17:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

webankenovi tenias toda la razon funciono perfecto .
  #40 (permalink)  
Antiguo 13/12/2012, 17:53
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

me alegro espero que hallas aprendido muchas cosas y sobre todo el manejo entre paginas cuando haces includes que eso te fallaba un poco , para cualquier cosa aqui estamos saludos !!!!

PROBLEMA RESUELTO

Observaciones

- Escapa los datos que provienen de los formularios (datos $_POST)


saludos_________________
  #41 (permalink)  
Antiguo 13/12/2012, 19:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

webankenovi gracais por la ayuda me sirvio mucho y lo mas importante es que aprendi

perdoname por la pregunta que te voy a hacer a que te refieres con

Cita:
Observaciones

- Escapa los datos que provienen de los formularios (datos $_POST)
  #42 (permalink)  
Antiguo 14/12/2012, 12:02
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

Te dejo informacion

http://es.php.net/manual/es/function.htmlentities.php
http://es.php.net/manual/es/function...ecialchars.php
http://es.php.net/manual/es/function.strip-tags.php

Vamos que lo que te quiero decir es mas que nada que verifiques los datos que provienen de los formularios por que ejemplo si se espera un email verifica que sea un email , si se espera un entero verifica que sea un entero si se espera un nombre verifica que solo sea un nombre , aparte con las funciones que te he pasado puedes protegerte de acciones malas por los usuarios , en tu formulario imaginate que en vez de un email introducen codigo javascript (esto es posible)

te recomiendo
1- verifica que el dato sea tal y como tiene que ser (si es un email pues que sea un email)
2- escapa los datos como ya te dije.


$destinatario_form = $_POST['destinatario']; // AQUI VERIFICA

Etiquetas: formulario, post
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 23:58.