Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/04/2012, 14:37
Avatar de demoche
demoche
 
Fecha de Ingreso: junio-2006
Mensajes: 124
Antigüedad: 17 años, 10 meses
Puntos: 0
Formulario problema con Su mensaje ha sido enviado

De vuelta lidiando con el PHP!
Bueno el problema que tengo es el siguiente, tengo un Formulario que cuando uno envia a traves de SUBMIT el mismo contenido de este, en lugar de escribir el mensaje "Su mensaje ha sido enviado" dentro del mismo FORM lo que hace es abrirme un "HTML" donde tiene ese mensaje.
Atraves de esta llamada
Código PHP:
 header('Location: thank-you.html'); 
COmo puedo hacer para que no me habra ningun "HTML" y el mensaje que yo quiero salga en el mismo FORM debajo del btn SUBMIT por ejemplo?
Gracias

Código PHP:
Ver original
  1. <?php
  2. $your_email ='[email protected]';// <<=== update to your email address
  3.  
  4. $errors = '';
  5. $name = '';
  6. $visitor_email = '';
  7. $user_message = '';
  8.  
  9. if(isset($_POST['submit']))
  10. {
  11.        
  12.         $name = $_POST['name'];
  13.         $visitor_email = $_POST['email'];
  14.         $user_message = $_POST['message'];
  15.         ///------------Do Validations-------------
  16.         if(empty($name)||empty($visitor_email))
  17.         {
  18.                 $errors .= "\n Name and Email are required fields. ";  
  19.         }
  20.         if(IsInjected($visitor_email))
  21.         {
  22.                 $errors .= "\n Bad email value!";
  23.         }
  24.         if(empty($_SESSION['6_letters_code'] ) ||
  25.           strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
  26.         {
  27.         //Note: the captcha code is compared case insensitively.
  28.         //if you want case sensitive match, update the check above to
  29.         // strcmp()
  30.                 $errors .= "\n The captcha code does not match!";
  31.         }
  32.        
  33.         if(empty($errors))
  34.         {
  35.                 //send the email
  36.                 $to = $your_email;
  37.                 $subject="New form submission - Success";
  38.                 $from = $your_email;
  39.                 $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
  40.                
  41.                 $body = "A user  $name submitted the contact form:\n".
  42.                 "Name: $name\n".
  43.                 "Email: $visitor_email \n".
  44.                 "Message: \n ".
  45.                 "$user_message\n".
  46.                 "IP: $ip\n";    
  47.                
  48.                 $headers = "From: $from \r\n";
  49.                 $headers .= "Reply-To: $visitor_email \r\n";
  50.                
  51.                 mail($to, $subject, $body,$headers);
  52.                
  53.                 header('Location: thank-you.html');
  54.         }
  55. }
  56.  
  57. // Function to validate against any email injection attempts
  58. function IsInjected($str)
  59. {
  60.   $injections = array('(\n+)',
  61.               '(\r+)',
  62.               '(\t+)',
  63.               '(%0A+)',
  64.               '(%0D+)',
  65.               '(%08+)',
  66.               '(%09+)'
  67.               );
  68.   $inject = join('|', $injections);
  69.   $inject = "/$inject/i";
  70.   if(preg_match($inject,$str))
  71.     {
  72.     return true;
  73.   }
  74.   else
  75.     {
  76.     return false;
  77.   }
  78. }
  79. ?>