0

So I have this PHP file that is used to send a mail, I have the mail part working correctly and then the alert pops up just as I want it to. The issue is that I would like it to stay on the same page, or return to the page as it was, but the header redirection won't work because of the echo I did before.

This is the relevant code:

<?php 

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \n email: $email \n Message: $message";
$recipient = 'email address';
$subject = 'Message from Website';
$mailheader = "From: $email \r\n";
$captcha;
{
    if (isset($_POST['g-recaptcha-response'])) {
        $captcha = $_POST['g-recaptcha-response'];
    }
    if (!$captcha) {
        echo '<script language="javascript">';
        echo 'alert("Please check the Captcha")';
        echo '</script>';
        exit;  
    }
    $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=secretkey&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
    if($response.success==false) {
        echo '<h2>Please do not try and spam here.</h2>';
    } else {
        mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
        echo '<script language="javascript">';
        echo 'alert("Your Message successfully sent, we will get back to you ASAP.")';
        echo '</script>';
        header('Location: ' . $_SERVER['HTTP_REFERER']);
    }
}

How can I change the last section of the code in order to either: redirect back to the page once the message alert has popped up, or just remain on the page once the message has been sent?

edit - hey guys, I got it to work the way that I want, I used the answer provided by Junaid.

I removed the header line and changed the javascript to the following:

echo '<script language="javascript">';
echo 'alert("Your Message successfully sent, we will get back to you ASAP.");';
echo 'window.location.href="index.html";';
echo '</script>';
Troy
  • 95
  • 1
  • 2
  • 8

2 Answers2

3
<?php echo '<script language="javascript">';
echo 'alert("Your Message successfully sent, we will get back to you ASAP.");';
echo 'window.location.href="index.php";';
echo '</script>';
?>

Check This It will Work For you

Junaid Ahmed
  • 720
  • 1
  • 7
  • 15
  • Thank you, this was the answer that I was actually looking for, even though the others did offer solutions. – Troy Oct 12 '15 at 07:04
0

Use in JS

window.location.href = 'www.example.com';   
Bilal Hussain
  • 994
  • 1
  • 10
  • 25