HTML页面中的PHP回显

时间:2016-09-02 01:59:12

标签: php html forms email

我有一个联系人。 html 页面我有一个表格。表单操作转到.php页面来处理电子邮件,没什么特别的。在那个页面上我有:

<?php
function check_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

$FirstName = check_input($_REQUEST['FirstName']);
$LastName = check_input($_REQUEST['LastName']);
$email = check_input($_REQUEST['email']);
$phone = check_input($_REQUEST['phone']);
$message = check_input($_REQUEST['message']);
$human = check_input($_REQUEST['human']);
$webpackage = check_input($_REQUEST['webpackage']);
$webdesign = check_input($_REQUEST['webdesign']);
$customdesign = check_input($_REQUEST['customdesign']);

if ($human == 5) {

$to = "****.com";
$subject = "From ****";

$body = " From: $FirstName  $LastName\n\n E-Mail: $email\n\n Phone:     $phone\n\n Message:\n\n $message\n\n Web Package:$webpackage\n\n Web     Design:$webdesign\n\n Custom Design:$customdesign";


mail ($to, $subject, $body);
header('location: index.html');
}
else {
$result="<div class=\"alert alert-danger\">Sorry there was an error sending     your message. Please go back and check your anti-spam answer</div>";
}

?>

我有一个简单的框,等于5,我正在检查它的价值。这项工作和电子邮件与所有信息一起发送但是如果不等于5则问题开始。该页面转到我的action.php页面并且是空白的。

我在contact.html页面上的html是:

    <div class="form-group">
                <div class="col-sm-10 col-sm-offset-2">
                    <?php echo($result); ?>
                </div>
            </div>

使用此功能通过表单访问我的action.php页面。其他一切都是.html:

 <form class="form-horizontal" id="contact-form" method="post" action="/action.php">

有办法做到这一点吗?我只是在echo页面上.php出错了。这适用于!=5,但不完全符合我的要求。你可能知道,我不懂PHP。

3 个答案:

答案 0 :(得分:0)

您可以在$_SESSION[]数组中设置变量,也可以在&#34;其他&#34;部分使用Header()重定向到显示您存储的值的页面。

参见另一个回答的问题中的示例:

displaying a message after redirecting the user to another web page

答案 1 :(得分:0)

  1. 使用以下代码更新您的其他部分:

     } else {
         header('location: contact.html?status=error');
     }
    
  2. 现在检查您的contact.html页面上是否设置了get方法。如果是,则设置并显示您的$结果值。

    <?php 
      if(isset($_GET['status']) && $_GET['status']=='error' ) { 
    
      $result="<div class=\"alert alert-danger\">Sorry there was an error sending     your message. Please go back and check your anti-spam answer</div>";           
    
    } ?>
    
  3. contact.html上的
  4. 检查$ result是否有值并打印出来:)

答案 2 :(得分:0)

在action.php中添加一个重定向到contact.html,如下所示

else {
$result="Sorry there was an error sending your message. Please go back and check your anti-spam answer"; 
$result=str_replace(" ","%20",$result);
header('location: contact.html?result=$result'); 
} 

然后使用GET

获取contact.html中的结果
$result= $_GET['result'];

理想情况下,在收到结果后,html会在目标Contact.html页面中标记结果。这消除了通过http

传递html的细微差别