用于网站发送消息表单的action.php

用于网站发送消息表单的action.php,php,html,forms,Php,Html,Forms,我在一个网站上有一个表单来发送消息,消息应该发送到一个电子邮件地址 由于我是网站建设的新手,我正在四处玩,但无法让表单与action.php文件一起工作。当我将HTML代码和action-page.php上传到服务器(在同一个子文件夹中)时,我在网站上键入的消息根本不会发送。我没有收到电子邮件,当我单击“发送”按钮时,我被转发到浏览器中的空白页。最好我只停留在同一个页面上,并收到“您的邮件已发送”通知,但这是一个“很高兴拥有”我只想让它工作 我使用:作为代码的参考 1。什么地方出了问题或为什么不

我在一个网站上有一个表单来发送消息,消息应该发送到一个电子邮件地址

由于我是网站建设的新手,我正在四处玩,但无法让表单与action.php文件一起工作。当我将HTML代码和action-page.php上传到服务器(在同一个子文件夹中)时,我在网站上键入的消息根本不会发送。我没有收到电子邮件,当我单击“发送”按钮时,我被转发到浏览器中的空白页。最好我只停留在同一个页面上,并收到“您的邮件已发送”通知,但这是一个“很高兴拥有”我只想让它工作

我使用:作为代码的参考

1。什么地方出了问题或为什么不起作用?

网站消息表单的代码如下所示:

<div class="o-screen-contact__col-form">
    <form class="c-form js-form-validation" action="action-page.php" method="post">
      <label for="contact-name">Jouw naam</label>
      <input class="c-form__field" id="contact-name" type="text" placeholder="Bijvoorbeeld, Jade van de Ven" required>
      <label for="contact-email">Jouw e-mail</label>
      <input class="c-form__field" id="contact-email" type="email" placeholder="Jouwemail@email.nl" required>
      <label for="contact-message">Jouw bericht</label>
      <textarea class="c-form__field" id="contact-message" name="name" placeholder="Schrijf hier jouw bericht of zorg" required></textarea>
      <fieldset class="u-text-right">
        <button class="c-button c-button--primary" type="submit" name="contact-submit">Zend mij een bericht</button>
      </fieldset>
    </form>
  </div>

朱瓦纳姆
Jouw电子邮件
朱瓦·贝里赫特
泽德·米吉恩·贝里赫特
我使用post方法,创建了一个action-page.php文件,用于将实际消息发送到电子邮件地址

action-page.php文件如下所示:

<?php
$name = $_POST['contact-name'];
$visitor_email = $_POST['contact-email'];
$message = $_POST['contact-message'];
?>


<?php
    $email_from = 'zorg@ontzorg-zwolle.nl';

    $email_subject = "Nieuwe email website ontzorg-zwolle";

    $email_body = "You have received a new message from the user $contact-name.\n".
                        "Here is the message:\n $contact-message".
?>

<?php

  $to = "zorg@ontzorg-zwolle.nl";

  $headers = "From: $email_from \r\n";

  $headers .= "Reply-To: $visitor_email \r\n";

  mail($to,$email_subject,$email_body,$headers);

?>

2。在服务器上放置action-page.php文件的位置


我已经将action-page.php文件放在index.html文件(消息表单所在)的同一文件夹中。那是正确的地方吗?或者我需要将文件放在其他位置才能正确调用吗?

您已经正确地完成了所有操作,但是在输入标记中缺少了name属性

你的代码应该是这样的

<input class="c-form__field" id="contact-name" name="contact-name" type="text" placeholder="Bijvoorbeeld, Jade van de Ven" required>


您必须在所有输入标记中添加name属性,如上面的代码…

通常,您会在服务器的顶级文件夹中拥有index.php或html页面。可能有一个页面文件夹、css文件夹,也可能有一个javascript文件夹。根据操作页面的位置,您可以使用
/
在子文件夹中访问它。因此,如果顶层文件夹中有一个名为index.php的文件,并且它的表单正在向pages文件夹中的action-page.php发送帖子,那么action属性如下所示
action=“pages/action page.php”
如果您要在服务器上的文件级别上提升一个级别,它看起来像
。/
。假设我有一个文件名
customers.php
,它位于服务器的第二级,有一个表单,该表单发布到一个名为
user.php
的文件中,该文件位于服务器的第二级
文件夹中,我必须离开
pages
文件夹,并向上一级访问
includes
文件夹和随后的
user.php
我的操作看起来是:
action=“../includes/user.php”
通常在通过post处理表单数据时,您应该首先查看是否使用
isset()
设置了处理表单提交的提交按钮<代码>如果(isset($\u POST['contact-submit']){//-->检查并处理验证、消毒用户输入等。}