猿问

在我的html站点上显示php文件的输出(回显)

所以我的问题是以下几点:


我有此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文件的回显,例如“ Message send”或“ Invalid Captcha”,并将其显示在我的index.html上,例如在<div class="status"></div>我单击“提交”按钮后以联系人形式显示为文本?


如果是,我该怎么办?


慕少森
浏览 642回答 2
2回答

慕桂英3389331

如果我的问题正确,为什么不将文件设为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";&nbsp;}然后在您要显示文本的html div中执行此操作<?phpinclude "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" />&nbsp; &nbsp; &nbsp; &nbsp; </div>&nbsp; &nbsp; &nbsp; &nbsp; <div class="col-6 col-12-small">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="text" name="email" id="contact-email" placeholder="E-Mail" />&nbsp; &nbsp; &nbsp; &nbsp; </div>&nbsp; &nbsp; &nbsp; &nbsp; <div class="col-12">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <textarea name="message" id="contact-message" placeholder="Nachricht" rows="4"></textarea>&nbsp; &nbsp; &nbsp; &nbsp; </div>&nbsp; &nbsp; &nbsp; &nbsp; <div class="g-recaptcha" data-sitekey="xxxxxxxxxxxx" data-theme="dark"></div>&nbsp; &nbsp; &nbsp; &nbsp; <div class="col-12_Submit">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <ul class="actions">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <li><input type="submit" class="style1" value="Senden" /></li>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <li><input type="reset" class="style2" value="Zurücksetzen" /></li>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </ul>&nbsp;<?php echo $msg; ?>&nbsp; &nbsp; &nbsp; &nbsp; </div>&nbsp; &nbsp; &nbsp; &nbsp; <div class="status"></div>&nbsp; &nbsp; </div></form></section>

喵喵时光机

是的,将您的消息设置为变量,例如$ message,然后通过呈现index.php来检查简单的if条件<div&nbsp;class="status"><?&nbsp;if(isset($message))&nbsp;echo&nbsp;$message?></div>如果您想使用标头并发送值,可以在index.php中使用$ _GET []
随时随地看视频慕课网APP
我要回答