Показать вывод (эхо) php-файла на моем сайте HTML - PullRequest
0 голосов
/ 14 апреля 2019

Итак, моя проблема заключается в следующем:

У меня есть этот php-файл, который я использую для формы контакта:

<?php
/* [VERIFY CAPTCHA FIRST] */
$secret = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
$url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=".$_POST['g-recaptcha-response'];
$verify = json_decode(file_get_contents($url));

/* [PROCESS YOUR FORM] */
if ($verify->success) {
  $to = "xxxxxxxxxxxxxxxxx"; 
  $subject = "Kontakt Website";
  $message = "Name - " . $_POST['name']; 
  $message .= "\nEmail - " . $_POST['email'];
  $message .= "\Message - " . $_POST['message'];
  if (@mail($to, $subject, $message)) {
    echo "Message sent!";
  } else {
    echo "Nachricht konnte nicht gesendet werden!";
  }
} else {
    header("Location: index.html#contactline");
    echo "Invalid captcha";
    exit;
}
?>

И вот форма внутри моего index.html:

<section>
    <form method="post" action="contact.php">
        <div class="row gtr-50">
            <div class="col-6 col-12-small">
                <input type="text" name="name" id="contact-name" placeholder="Name" />
            </div>
            <div class="col-6 col-12-small">
                <input type="text" name="email" id="contact-email" placeholder="E-Mail" />
            </div>
            <div class="col-12">
                <textarea name="message" id="contact-message" placeholder="Nachricht" rows="4"></textarea>
            </div>
            <div class="g-recaptcha" data-sitekey="xxxxxxxxxxxx" data-theme="dark"></div>
            <div class="col-12_Submit">
                <ul class="actions">
                    <li><input type="submit" class="style1" value="Senden" /></li>
                    <li><input type="reset" class="style2" value="Zurücksetzen" /></li>
                </ul>
            </div>
            <div class="status"></div>
        </div>
    </form>
</section>

Итак, мой вопрос: возможно ли получить эхо-файл php-файла, например «Сообщение отправлено» или «Неверная капча», и отобразить его в моем index.html, например, в форме контакта кактекст в <div class="status"></div> после того, как я нажму кнопку отправки?

И если да - как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 14 апреля 2019

Если я правильно понял вопрос, почему бы не сделать файл php-файлом вместо html-документа, поскольку php-файл может выводить html. Таким образом, ваш index.html должен быть index.php, а затем включать ваш скрипт php для почты, также создать пустую переменную для сообщения в скрипте и присваивать ему значение при каждом условии. Но пока не повторяйте это, эхо должно быть сделано на html-странице.

$msg="";
if(@mail($to, $subject, $message){
$msg=="message has been sent";
}
else{
$msg="not sent"; 
}

Затем в html div, в котором вы хотите отобразить текст, сделайте это

<?php
include "messages_script.php;
?>
<section>
<form method="post" action="contact.php">
<div class="row gtr-50">
<div class="col-6 col-12-small">
<input type="text" name="name" id="contact-name" placeholder="Name" />
        </div>
        <div class="col-6 col-12-small">
            <input type="text" name="email" id="contact-email" placeholder="E-Mail" />
        </div>
        <div class="col-12">
            <textarea name="message" id="contact-message" placeholder="Nachricht" rows="4"></textarea>
        </div>
        <div class="g-recaptcha" data-sitekey="xxxxxxxxxxxx" data-theme="dark"></div>
        <div class="col-12_Submit">
            <ul class="actions">
                <li><input type="submit" class="style1" value="Senden" /></li>
                <li><input type="reset" class="style2" value="Zurücksetzen" /></li>
            </ul>
 <?php echo $msg; ?>
        </div>
        <div class="status"></div>
    </div>
</form>
</section>
1 голос
/ 14 апреля 2019

Да, установите ваше сообщение в переменной, например, $ message, затем отрендерив index.php отметьте простое условие if

<div class="status"><? if(isset($message)) echo $message?></div>

и если вы хотите использовать заголовок и отправитьзначение, которое вы можете использовать $ _GET [] в index.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...