2016-09-02 3 views
-1

У меня есть контакт. html страница У меня есть форма. Действие формы переходит на страницу .php для обработки электронной почты, ничего особенного. На этой странице у меня есть:PHP echo в HTML Page

<?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, для которой я проверяю значение. Это работает и отправляется по электронной почте со всей информацией. BUT если не равен 5, то проблема начинается. Страница идет на мою страницу action.php и пуста.

Мой HTML на странице contact.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.

+0

Возможно, какой-то из кода, который вы оставили вне, получает ошибку, и скрипт останавливается. – Barmar

+0

Что вы подразумеваете под «страница идет на мою .php страницу»? Как вы переходите со страницы, которая обрабатывает электронную почту на странице, которая отображает DIV? – Barmar

+0

Я думаю, вам нужно опубликовать весь скрипт, невозможно сказать, что вы действительно делаете из приведенных вами фрагментов. – Barmar

ответ

0

Вы можете установить переменную в массиве $_SESSION[], а в разделе «else» используйте Header() для перенаправления на страницу, на которой вы показываете сохраненное значение.

Смотрите пример в этой другой ответил вопросом:

displaying a message after redirecting the user to another web page

0
  1. Обновите еще часть с помощью следующего кода:

    } else { 
        header('location: contact.html?status=error'); 
    } 
    
  2. Теперь проверьте, если получить метод установлен на вашем контакте .html. если да, то установите и отобразите значение $ result.

    <?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 если $ результат имеет значение и распечатать его :)

0

Добавить редирект в сторону contact.html в вашем action.php как это

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'); 
} 

А затем получите результат в contact.html с GET

$result= $_GET['result']; 

В идеале, для получения результата на странице Contact.html следует получить html-метку после получения результата. Это устраняет нюансы прохождения html по http