在HTML页面上显示php msg

时间:2013-03-05 19:40:35

标签: php html web

我正在一个静态网站上工作,其中有一个联系我们页面。在这里我想要做的是当提交联系表格时,它应该显示消息 - 电子邮件已成功发送。但问题是我正在调用html页面,我们无法在html视图中传递php消息。那么有什么方法可以完成它。 conatctus.php

<?php
$error = '';

$mailTo = $_POST['email'];
$mailFrom = 'info@sample.com';
//$headers  = 'MIME-Version: 1.0' . "\r\n";
//$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$fullname = $_POST['username'];
$phoneno = $_POST['mobile'];
$emailaddress = $_POST['email'];
$msgsubject =$_POST['message'];
$new = "\n";
$msg =  $fullname.$new.$emailaddress.$new.$phoneno.$new.$msgsubject;

$to      = $email;
    $subject = 'Inquiry';
    $messageclient = '<div>

<p>Thank you For Inquiry.</p>
<p> We will reach back to you shortly. Have a Nice Day!</p>
<p>Company © 2013</p>
</p></div>
';
    $headers = 'From: info@email.com' . "\r\n" .
        'Reply-To: info@email.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/html; charset=utf-8\r\n"; 
    $headers .= "From: Company<info@email.com>\r\n";
    //$res = mail($to, $subject, $message, $headers);

//$message ='Thank you For Inquiry. We will reach back to you shortly. Have a Nice Day';
mail( $mailTo , $subject,  $messageclient, $headers);

$message .= "<p>Name: $fullname</p><br /><p>Contact Number : $phoneno</p><br />        <p>Email: $emailaddress</p><br /><p>Message: $msgsubject</p>";

mail( $mailFrom, $subject,$message, $headers); 

header("location:home.html");
?>

非常感谢您的帮助,提前谢谢。

4 个答案:

答案 0 :(得分:2)

此处存在很多问题,但要回答您的问题,您无法在发送内容后重定向。

如果您将ob_start()添加到页面顶部,它将缓冲内容并允许重定向。

之后,进一步重新阅读你的帖子,也许我误解了。看起来您发送的内容并不意味着您的重定向工作正常,但您想要的是在重定向后添加消息。

你有选择。

  1. 重定向到反映您要传达的消息的静态HTML页面。
  2. 重定向到具有向用户发送消息的逻辑的PHP页面。
  3. 使用Ajax发送电子邮件,不要重定向。

答案 1 :(得分:0)

您可能希望在提交时执行ajax请求以防止更改页面或创建在处理邮件功能后将重定向到的目标网页

答案 2 :(得分:0)

将此电子邮件发送功能作为ajax调用执行,并在其成功向用户显示成功消息。

答案 3 :(得分:0)

如果您可以配置Web服务器,则可以通过某种方式对其进行更改,以便处理php页面等html页面。例如在APACHE的httpd.conf中:

AddType application / x-httpd-php .php .htm .html

希望对你有用。