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. hola amigos espero me puedan ayudar, se que para algunos estoy preguntando algo muy facil pero a mi me esta costanto un poco de dificultad ...

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

hola amigos espero me puedan ayudar, se que para algunos estoy preguntando algo muy facil pero a mi me esta costanto un poco de dificultad la situacion es la siguiente :

en la aplicacion tengo un enlace
Código HTML:
Ver original
  1. <a href="index.php?controller=user_&accion=recuperar_contrasena">Olvide mi Contraseña</a>

el cual hace referencia a
Código PHP:
Ver original
  1. function recuperar_contrasena()
  2. {
  3.        if($_POST)
  4.        {
  5.         require 'views/envio.php';
  6.         }
  7.  
  8.     require 'views/frm_recuperar_contasena.php';
  9. }


en frm_recuperar_contasena.php tengo un formulario que al enviar se ejecuta envio.php

actualmente me esta imprimiendo el resultado encima del frm_recuperar_contasena.php como hago para que sea en una pagina limpia y con los resultados del $_POST
  #2 (permalink)  
Antiguo 11/12/2012, 16:49
 
Fecha de Ingreso: septiembre-2012
Mensajes: 18
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: imprimir despues de $_POST

Hay algunas cosas, si estas implementado MVC, creo que dentro de tu controlador user, deberia de haber un metodo envio y no incluir el codigo como una vista, algo asi ..

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. ?>
  #3 (permalink)  
Antiguo 11/12/2012, 16:53
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

este es mi controlador user

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2. {
  3.     if($_POST)
  4.        {
  5.             require 'views/envio.php';
  6.            
  7.        }
  8.  
  9.     require 'views/frm_recuperar_contasena.php';
  10. }
  #4 (permalink)  
Antiguo 11/12/2012, 16:57
 
Fecha de Ingreso: septiembre-2012
Mensajes: 18
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: imprimir despues de $_POST

Disculpa, se me fue el enter en la respuesta anterior.

Hay algunas cosas, si estas implementado MVC, creo que dentro de tu controlador user debes tratar el envio y no incluir el codigo como una vista, algo asi ..

Código PHP:
Ver original
  1. <?php
  2.  
  3. function recuperar_contrasena(){
  4.  
  5.        if(!empty($_POST)){
  6.             /* codigo para tratar los datos en $_POST */
  7.            /* mostrar mensaje sencillo de confirmacion de la accion realizada o si es algo mas complicado cargar una vista con dicho proposito */
  8.        }
  9.        else{
  10.             include('views/frm_recuperar_contasena.php');
  11.        }
  12.  
  13. ?>
  #5 (permalink)  
Antiguo 12/12/2012, 07:34
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

axsys gracias por responder estuve probando lo que me indicas , me puedes explicar como hago lo de
Cita:
mostrar mensaje sencillo de confirmacion de la accion realizada o si es algo mas complicado cargar una vista con dicho proposito
en la aplicacion al hacer el post la respuesta la tengo asi

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2. {
  3.      if($_POST)
  4.        {
  5.         require 'views/envio.php';
  6.     }
  7.  
  8.     require 'views/frm_recuperar_contasena.php';
  9. }



como hago para imprimir lo que se ejecuta el servidor, osea necesito imprimir el resultado en una pagina que tenga la misma plantilla de toda la aplicacion y en el centro el resultado del POST.

porque con el codigo acabo de postear se imprime un mesaje con el resultado del post y con el formulario que se encuentra en frm_recuperar_contasena.php

Última edición por Montes28; 12/12/2012 a las 15:56
  #6 (permalink)  
Antiguo 12/12/2012, 16:22
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

donde quieres que se muestre exactamente antes del form despues Etc.... si existe post no mostrar el formulario ??? como te gustaria???
  #7 (permalink)  
Antiguo 12/12/2012, 16:23
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

despues del form
  #8 (permalink)  
Antiguo 12/12/2012, 16:27
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

pues en vez de crear un mensaje con mensaje enviado ok creas una variable

$var = 'enviado'; // en envio.php

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2. {
  3.  
  4. if($_POST)
  5. {
  6. require 'views/envio.php';
  7. }
  8.      
  9. require 'views/frm_recuperar_contasena.php';
  10.  
  11. if( isset($var) and $var == 'enviado '){   echo 'mensaje enviado ';   }
  12.  
  13. // esto tambien lo puedes meter en el archivofrm_recuperar_contasena.php y manejarlo a tu gusto , tan solo es un ejemplo
  14.  
  15. }
  #9 (permalink)  
Antiguo 12/12/2012, 16:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

no funciono o depronto fue que no me hice entender de la siguiente manera imprimo una pagina nueva pero no los resultados depues del post .

necesito imprimir como lo muestro en este codigo pero imprimir lo del post echo 'mensaje enviado '; etc

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2. {
  3.     if($_POST)
  4.        {
  5.         require 'views/envio.php';
  6.     echo '<script languaje="Javascript">location.href="views/frm_sucess_users.php"</script>';
  7.            
  8.            
  9.        }
  10.  
  11.     require 'views/frm_recuperar_contasena.php';
  12. }
  #10 (permalink)  
Antiguo 12/12/2012, 16:43
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

mira al incluir los archivos digamos que se ejeuctan seguidamente como si de un solo archivo se tratase si yo en envio.php añado $var='foros del web'; y ejecutas echo $var en cualquier parte del archivo frm_recuperar_contasena.php veras que se ejecuta , de esta manera puedes manejar lo que quieres
  #11 (permalink)  
Antiguo 12/12/2012, 17:15
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

hice lo que me indicaste pero no me funciono, imprime el mensaje mensaje enviadoaaaaaa pero imprime el formulario.

lo que necesito es que se imprima el mensaje pero en otra pagina

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2. {
  3.  
  4. if($_POST)
  5. {
  6. require 'views/envio.php';
  7. }
  8.      
  9. require 'views/frm_recuperar_contasena.php';
  10.  
  11. if( isset($var) and $var == 'enviado'){   echo 'mensaje enviadoaaaaaa';   }
  12.  
  13.  
  14.  
  15. }
  #12 (permalink)  
Antiguo 12/12/2012, 17:18
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

sube el codigo de envio y el de recuperar contraseña y le echo un vistazo
  #13 (permalink)  
Antiguo 12/12/2012, 17:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

en envio.php

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


y en recuperar contraseña
<form id="form-add" method="post">
<div class="control-group">
<div class="span12"><label>Correo Electronico</label>
<input type="text" name="destinatario" id="destinatario" class="input-xxlarge">
</div>
</div>


<div class="row-fluid show-grid">
<div class="control-group">
<div class="span12"><label>Correo Electronico</label>
<input type="text" name="destinatario_rep" id="destinatario_rep" class="input-xxlarge">
</div>
</div>
<div>
</div>

<div class="row-fluid show-grid">

<div class="span12"><label></label>

</div>
</div>
<div>
<input type="submit" value="Enviar" /><button type="reset" class="btn" onClick="valid.reset(); return true">Cancelar</button>
</p>


</form>
  #14 (permalink)  
Antiguo 12/12/2012, 17:29
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

puede ser que lo estes comprobando sin enviar el email?? en ese caso no se incluiria el archivo envio

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2.     {
  3.      
  4.     if($_POST)
  5.     {
  6.     require 'views/envio.php';
  7.     }
  8.          
  9.     require 'views/frm_recuperar_contasena.php';
  10.      
  11.     if( isset($var) and $var == 'enviado'){   echo 'mensaje enviadoaaaaaa';   }else{  echo 'no enviado';  }
  12.      
  13.      
  14.      
  15.     }

asi aparentemente esta todo bien , te deberia de funcionar
  #15 (permalink)  
Antiguo 12/12/2012, 17:34
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

webankenovi gracias por responder

si estoy enviando el email, el mensaje se imprime pero se imprime en la pagina recuperar contraseña (se ve el formulario y el mensaje que f( isset($var) and $var == 'enviado'){ echo 'mensaje enviadoaaaaaa'; }else{ echo 'no enviado'; }) .

lo que necesito es imprimir el mensaje pero en otra pagina osea que solo aparezca el mensaje
  #16 (permalink)  
Antiguo 12/12/2012, 17:42
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

OK lo que no se por que se te imprime el codigo php algo estas haciendo mal hay , codigo php nunca puede verse en el navegador y ni siquiera en el codigo fuente.

1 crea un archivo nuevo confirmacion.php por ejemplo


controller

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2.         {
  3.          
  4.         if($_POST)
  5.         {
  6.  
  7.         require 'views/envio.php';
  8.  
  9.         }
  10.              
  11.         require 'views/frm_recuperar_contasena.php';
  12.      
  13.  
  14.         require 'views/confirmacion.php';
  15.  
  16.        
  17.          
  18.          
  19.         }

confirmacion.php

Código PHP:
Ver original
  1. if(isset($var) and $var == 'enviado')
  2. {  
  3.  
  4. echo 'mensaje enviadoaaaaaa';  
  5.  
  6. }else{  
  7.  
  8. echo 'no enviado';  
  9.  
  10. }


envio.php
Código PHP:
Ver original
  1. $mail->Send();
  2. //echo "<br>";
  3. //echo "Mensaje enviado ok";
  4. //echo "<br>";
  5.  
  6. $var = 'enviado';
  7.  
  8. }else{
  9.  
  10. echo "Ese correo no esta Asociado a ningun usuario del Sistema";
  11.  
  12. }
  #17 (permalink)  
Antiguo 12/12/2012, 20:49
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

webankenovi gracias por responder pero no funciona , sigo viendo el formulario.

tengo otras funciones con el siguiente codigo

Código PHP:
Ver original
  1. if($_POST)
  2.        {
  3.    
  4.               echo '<script languaje="Javascript">location.href="views/frm_sucess_users.php"</script>';
  5.  
  6.        }

me imprime bien como lo necesito pero no me imprime el resultado de la ejecucion del post

lo que busco es cuando tengo un formulario y en el accion le digo al servidor que ejecute el archivo.php y ahi mismo se imprime el resultado de esa ejecuccion pero como lo hago con MVC

Última edición por Montes28; 12/12/2012 a las 21:29
  #18 (permalink)  
Antiguo 12/12/2012, 22:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: imprimir despues de $_POST

Código PHP:
Ver original
  1. $ok = false; // Esto es sólo para saber si se envió el correo
  2. if(isset($_POST['un_campo_de_tu_formulario'])) {
  3.     // Procesa el formulario normalmente
  4.     // Si no hay error, entonces pones $ok = true;
  5. }
  6.  
  7. if($ok) {
  8.     // Aquí el mensaje que quieras poner sin mostrar nuevamente el formulario
  9. } else {
  10.     // Aquí el formulario
  11. }
__________________
- León, Guanajuato
- GV-Foto
  #19 (permalink)  
Antiguo 12/12/2012, 23:25
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

Triby gracias por responder , estoy implementando lo que me indicas , pero tengo una pregunta estoy implementando MVC y se supone que en esta parte no debo de tener nada de html pero como hago para no incliurlo

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2.         {
  3.        
  4.  
  5.        $ok = false;
  6.         if(isset($_POST['destinatario'])) {
  7.          require 'views/envio.php';
  8.          $ok = true;
  9.         }
  10.  
  11.         if($ok==true) {
  12.     ?>
  13.     <div class="container-fluid">
  14.         <div class="hero-unit">
  15.  
  16.     <?
  17.      echo "mensaje enviado a"."<br>".$_POST['destinatario']; ?>
  18.         </div></div>
  19.         <?
  20.     include('views/confirmacion.php');
  21.     } else {
  22.     //require 'views/frm_recuperar_contasena.php';
  23.     include('views/frm_recuperar_contasena.php');
  24.     }
  25.  
  26.          
  27.          
  28.         }

Última edición por Montes28; 12/12/2012 a las 23:54
  #20 (permalink)  
Antiguo 12/12/2012, 23:55
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: imprimir despues de $_POST

No pongas HTML, sólo incluyes la vista donde mostrarás el mensaje y listo.
__________________
- León, Guanajuato
- GV-Foto
  #21 (permalink)  
Antiguo 12/12/2012, 23:58
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

si no pongo el html el mensaje sale en la parte de arriba y necesito que se imprima en la parte centrar de la pagina en

Código HTML:
Ver original
  1. <div class="container-fluid">
  2.         <div class="hero-unit">
  3.  
  4.                  mensaje enviado
  5.                  </div>
  6. <div>
  #22 (permalink)  
Antiguo 13/12/2012, 05:20
 
Fecha de Ingreso: octubre-2011
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 5
Respuesta: imprimir despues de $_POST

otra solución quizá menos ortodoxa, es utilizar AJAX para el envio por POST.
en la callback, puedes mostrar luego el típico alert
  #23 (permalink)  
Antiguo 13/12/2012, 11:52
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: imprimir despues de $_POST

Todo ese HTML (y el mensaje también) debe estar en la vista, con eso ya dewberías ver el mensaje como quieres.
__________________
- León, Guanajuato
- GV-Foto
  #24 (permalink)  
Antiguo 13/12/2012, 13:37
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

este es mi controlador , pero tengo el incoveniente que me toca colocar codigo html para que me imprima el mensaje en el lugar que debo , como lo puedo solucionar ,

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2.         {
  3.        
  4.  
  5.        $ok = false;
  6.         if(isset($_POST['destinatario'])) {
  7.          require 'views/envio.php';
  8.          $ok = true;
  9.         }
  10.  
  11.         if($ok==true) {
  12.     ?>
  13.      <hr></hr>
  14.     <div class="container-fluid">
  15.         <div class="hero-unit">
  16.  
  17.     <?
  18.      echo "mensaje enviado a"."<br>".$_POST['destinatario']; ?>
  19.         </div></div>
  20.         <?
  21.     include('views/confirmacion.php');
  22.     } else {
  23.     //require 'views/frm_recuperar_contasena.php';
  24.     include('views/frm_recuperar_contasena.php');
  25.     }
  26.  
  27.          
  28.          
  29.         }


en confirmacion.php tengo solo html
  #25 (permalink)  
Antiguo 13/12/2012, 13:40
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: imprimir despues de $_POST

No entiendo, cuál es el problema de poner esos hr, divs y mensaje directamente en views/confirmacion.php?

Otra cosa que no entiendo, es que tratas de seguir un estándar, pero usas <? en lugar de <?php y puede que en algunos servidores no funcione.
__________________
- León, Guanajuato
- GV-Foto
  #26 (permalink)  
Antiguo 13/12/2012, 13:42
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

function recuperar_contrasena()
{


$ok = false;
if(isset($_POST['destinatario'])) {
require 'views/envio.php';
$ok = true;
}

if($ok==true) {
?>
<hr></hr>
<div class="container-fluid">
<div class="hero-unit">

<?
echo "mensaje enviado a"."<br>".$_POST['destinatario']; ?>
</div></div>

<?
include('views/confirmacion.php');
} else {
//require 'views/frm_recuperar_contasena.php';
include('views/frm_recuperar_contasena.php');
}



}


El texto que esta en negrita vamos el html , por que no lo introduces en confirmacion y asi ya no tienes html en la funcion??

Código PHP:
Ver original
  1. function recuperar_contrasena()
  2. {
  3.            
  4. $ok = false;
  5.  
  6. if(isset($_POST['destinatario']))
  7. {
  8.  
  9. require 'views/envio.php';
  10. $ok = true;
  11.  
  12. }
  13.      
  14. if($ok==true)
  15. {
  16.  
  17. include('views/confirmacion.php');
  18.  
  19. } else {
  20.  
  21. include('views/frm_recuperar_contasena.php');
  22.  
  23.  
  24. }}

Última edición por webankenovi; 13/12/2012 a las 14:02 Razón: upsss !! triby te me adelantaste mientras escribia el post ..:::..
  #27 (permalink)  
Antiguo 13/12/2012, 14:39
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: imprimir despues de $_POST

webankenovi gracias , funciona perfecto solo me falta imprimir si el correo se envio satisfactoriamente o el correo no esta en la base de datos .

en el controlador tengo
Código PHP:
Ver original
  1. function recuperar_contrasena()
  2.         {
  3.        
  4.  
  5.        $ok = false;
  6.         if(isset($_POST['destinatario'])) {
  7.          require 'views/envio.php';
  8.          $ok = true;
  9.         }
  10.  
  11.         if($ok==true) {
  12.  
  13.     include('views/confirmacion.php');
  14.     } else {
  15.     //require 'views/frm_recuperar_contasena.php';
  16.     include('views/frm_recuperar_contasena.php');
  17.     }
  18.  
  19.          
  20.          
  21.         }

en confirmacion.php tengo
Código HTML:
Ver original
  1. <div class="container-fluid">
  2.         <div class="hero-unit">
  3.  
  4.     <?
  5.      echo "mensaje enviado a"."<br>".$_POST['destinatario']; ?>
  6.  
  7.         </div></div>


y en envio.php
Código PHP:
Ver original
  1. $destinatario_form = $_POST['destinatario'];
  2. $usuario = 'postgres';
  3. $contrasenia = '***';
  4.    
  5.             try {
  6.  
  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.    
  39.    
  40.  
  41. require_once('phpMailer/class.phpmailer.php');
  42. require_once("phpMailer/class.smtp.php");
  43.  
  44. $mail = new PHPMailer(true);
  45. $mail->IsSMTP();
  46. $mail->Host       = '172.25.1.3';
  47. //$mail->SMTPDebug  = 2;  
  48. $mail->SMTPDebug  = 0;                
  49. //$mail->SMTPAuth   = true;                
  50. $mail->SMTPAuth   = false;
  51. //$mail->SMTPSecure = "tls";
  52. $mail->SMTPSecure = 'SSL';
  53. $mail->Port       = 25;                  
  54. //$mail->Username   = '[email protected]';
  55. //$mail->Password   = "****";
  56. $mail->Subject = "Asunto del correo";
  57. $mail->AddAddress($destinatario);
  58. //$mail->AddAddress($destinatario);
  59. $mail->SetFrom('[email protected]','Fenomenos Volcanicos');
  60. //$mail->SetFrom($destinatario, 'oscar');
  61. $mail->Subject = 'Recuperacion Contraseña';
  62. $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
  63. //$mail->MsgHTML("ESto es una prueba".$destinatario.$hash);
  64. $mail->MsgHTML("<a href='http://192.168.102.9/volcanicos&time=".time()."&id=".$hash."'>".Recuperar.Contraseña."</a>"."<br>".$hash);
  65. //$mail->MsgHTML("<a href='http://192.168.102.9/volcanicos&time=".time()."'>".Fenomenos.Volcanicos."</a>"."<br>".date('G:i', time()));
  66.  
  67.  
  68.  
  69. $mail->Send();
  70. //echo "<br>";
  71. //echo "Mensaje enviado ok";
  72. //echo "<br>";
  73. $var = 'enviado';
  74. }else{
  75.  
  76. echo "Ese correo no esta Asociado a ningun usuario del Sistema";
  77. }
  #28 (permalink)  
Antiguo 13/12/2012, 14:53
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

para el correo estas manejando if($cuenta == 1) usalo igualmente en confirmacion.php y muestras si existe o no , de echo ya lo muestras en envio.php , no se a que te refieres??

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

webankenovi gracias si funciona muy bien , como puedo validar que el mensaje se envio o sea que si le llego al usuario?
  #30 (permalink)  
Antiguo 13/12/2012, 16:16
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: imprimir despues de $_POST

pues verificando el envio

http://phpmailer.worxware.com/index.php?pg=examplebmail

Código PHP:
Ver original
  1. if(!$mail->Send()) {
  2. echo "Mailer Error: " . $mail->ErrorInfo;
  3. } else {
  4. echo "Message sent!";
  5. }

esto deberias de incluirlo en esta parte en envio.php

Código PHP:
Ver original
  1. $mail->Send();
  2. //echo "<br>";
  3. //echo "Mensaje enviado ok";
  4. //echo "<br>";
  5. $var = 'enviado';

quedando al final asi:

envio.php

Código PHP:
Ver original
  1. if(!$mail->Send()) {
  2. $validate = "Mailer Error: " . $mail->ErrorInfo;
  3. } else {
  4. $validate =  "Message sent!";
  5. }

en donde dessees mostrar el aviso de la pagina confirmacion.php

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

cuando lo termines sube el archivo confirmacion.php y revisamos haber como te quedo

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 13:04.