Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/09/2009, 10:07
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 4 meses
Puntos: 175
donde empieza tu codigo PHP, ya sea en tu action, o dentro del mismo formulario, pones una variable que nos dara la pauta de si fue enviado o no..

algo asi al inicio:

Código PHP:
<?php
$enviado 
false;

// aca se supone que esta empezando tu gestor del formulario

//solo como ejemplo, pues no se como lo tienes
$to "[email protected], ";
        
$from "From:".stripslashes($_POST["name"])."  <".stripslashes($_POST["mail"]).">";
        
$subject "Consulta /Mensaje";
        
$body"El siguiente formulario se ha completado desde tu pagina We.\r\n";
/***
 repito, solo para que se entienda que esta es la parte que 
ya tenes hecha de tu formulario-- quiza si lo hiciste con la funcion PHPmailer
sea un poco distinto, pero ya lo tenes hecho, lo importante es 

**/

//ya despues de todo el codigo de envio, le generamos un IF
//le decimos, que si el mail fue enviado, nos devuelva como verdadero
// y mas abajo le tiramos un resultado

if(mail($to,$subject,utf8_decode($body),$from))//solo de ejemplo
        
{
            
$enviado true;
        }
Bueno, ya abajito o en tu form, antes de donde empieza tu formulario podemos simularlo asi

Código PHP:
<td valign="top">
     <?
          
if($enviado==true)//si se envio el form, nos devolvera esta linea de abajo
          
{
              
?>
               <div style="height:345px; padding-top:10px;">
                  <div align="center">
                    <p class="txtDescripcionBuscador"><strong>Gracias por enviar tus consultas. <br />
                En breve te responderemos.</strong></p> 
                 </div>
           </div>
            <?
          
}else{
//caso contrario el formulario se seguira mostrando hasta que 
//se envie correctamente
//entonces hacemos que se siga viendo el form normalmente
            
?>
    <form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">......continua
Es importante que si el form no se ha enviado, que los datos del usuario no se pierdan al refrescar la pagina, por ello, en los campor siempre importante imprimir los datos que se enviaron antes del error o falta de datos para dar como valido el mensaje..

por ejemplo, para uno de los campos siga mostrando los datos, sobre todo si usas un captcha.

Código PHP:
<td>
<span class="obligatorioInputs">*</span> Nombre:<br />
      <input type="text" name="name" id="name" class="contactsInputs" value="<?= (isset($_POST["name"]))?$_POST["name"]:""?>" /></td>

ok.. mas abajo terminamos el mensaje, dado que mas arriba abrimos un IF .. ELSE debemos cerrar el ELSE, pues quedo abierto

algo asi al final del fform

Código PHP:
</form>
    <? 
        
}

        
?>
Esto es netamente conceptual, no se si ha de aplicarse exactamente asi en tu caso, pues siempre las sintaxis cambian, tambien puedes tirarnos los scripts de tu form, y seguro te ayudamos en lo que se pueda..

pero queres que se redireccione dijiste.. creo que en el if, podes agregarle un detalle para que el usuario termine el registro o compra

codigo retocado:
Código PHP:
<td valign="top">
     <?
          
if($enviado==true)
          {
              
?>
               <div style="height:345px; padding-top:10px;">
                  <div align="center">
                    <p class="txtDescripcionBuscador">
<strong>Gracias por enviar tus consultas. 
<!--Esta es la parte que agregamos, para que el usuario termine el registro-->
<p><a href="pagina_pay_pal.php"> Terminar Registro</a></p>
                En breve te responderemos.</strong></p> 
                 </div>
           </div>
            <?
          
}else{
            
?>
    <form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">
Te lo pongo asi, pues no se va a ningun lugar, hasta que el usuario de click en el link que direge a tu pagina de pagos.. espero en algo te pueda a yudar

pero queres que se redireccione dijiste.. creo que en el if, podes agregarle un detalle para que el usuario termine el registro o compra

codigo retocado:
Código PHP:
<td valign="top">
     <?
          
if($enviado==true)
          {
              
?>
               <div style="height:345px; padding-top:10px;">
                  <div align="center">
                    <p class="txtDescripcionBuscador">
<strong>Gracias por enviar tus consultas. 
<!--Esta es la parte que agregamos, para que el usuario termine el registro-->
<p><a href="pagina_pay_pal.php"> Terminar Registro</a></p>
                En breve te responderemos.</strong></p> 
                 </div>
           </div>
            <?
          
}else{
            
?>
    <form action="consultas.php" method="post" name="formContactos" onSubmit="return ValidarEnvio();">
Te lo pongo asi, pues no se va a ningun lugar, hasta que el usuario de click en el link que direge a tu pagina de pagos.. espero en algo te pueda a yudar

Última edición por GatorV; 24/09/2009 a las 11:34