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<?php
$errors = '';
$name = '';
$visitor_email = '';
$user_message = '';
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$user_message = $_POST['message'];
///------------Do Validations-------------
{
$errors .= "\n Name and Email are required fields. ";
}
if(IsInjected($visitor_email))
{
$errors .= "\n Bad email value!";
}
if(empty($_SESSION['6_letters_code'] ) || strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0) {
//Note: the captcha code is compared case insensitively.
//if you want case sensitive match, update the check above to
// strcmp()
$errors .= "\n The captcha code does not match!";
}
{
//send the email
$to = $your_email;
$subject="New form submission - Success";
$from = $your_email;
$ip = isset($_SERVER['REMOTE_ADDR']) ?
$_SERVER['REMOTE_ADDR'] : '';
$body = "A user $name submitted the contact form:\n".
"Name: $name\n".
"Email: $visitor_email \n".
"Message: \n ".
"$user_message\n".
"IP: $ip\n";
$headers = "From: $from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to, $subject, $body,$headers);
header('Location: thank-you.html'); }
}
// Function to validate against any email injection attempts
function IsInjected($str)
{
$injections = array('(\n+)', '(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections); $inject = "/$inject/i";
{
return true;
}
else
{
return false;
}
}
?>