问题 与 php 联系 form.is 我的代码或我的服务器设置


Problems With php contact form..is it my code or my server settings?

>iv 一直在尝试构建一个 PHP 联系表单,但没有得到预期的结果,谁能判断以下代码是否可以在服务器上工作,或者它是否是 falt 的代码?

联系方式.php

<form name="contact" action="contactMail.php" method="POST" enctype="multipart/form-data">
                <table id="contactTable">
                    <tr>
                        <td id="contactTable"><label for="name">Name</label></td>
                        <td><input name="name" id="name" type="text" size="30" required="required"  /></td>
                    </tr>
                    <tr>
                        <td id="contactTable">Subject</td>
                        <td><input name="subject" id="subject" type="text" size="30" required="required" ></td
                    ></tr>
                    <tr>
                        <td id="contactTable"><label for="email">Email</label></td>
                        <td><input name="email" id="email" type="email" size="40" required="required" ></td>
                    </tr>
                    <tr>
                        <td id="contactTable" valign="top"><label for="message">Message</label></td>
                        <td><textarea id="message" name="message" required="required" ></textarea ></tr>
                </table>  
                <div align="center">  
                 <input id="blueButton" type="reset" value="Clear All">
                 <input id="blueButton" type="submit" value="Send Message">
            </div>    
            </form>

联系邮件.php

<?php $name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name 'n Message: $message";
$recipient = "example@hotmail.co.uk";
$subject = $_POST['subject'];
$mailheader = "From: $email 'r'n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
header ("refresh:2;url=contact.php");
?>

这取决于很多事情 - 首先,你没有说明你的"期望结果"是什么,你也没有解释正在发生的事情。

但是,我的假设是您希望:1/要发送的电子邮件2/向用户显示消息"谢谢!3/2 秒后,用户被重定向到新页面:

因此,您的主要问题是您的标头 - 在将输出发送到浏览器后无法发送标头(这就是 echo())所做的,因此您的 header() 不会被发送。

因此,您需要将行交换在:

header ("refresh:2;url=contact.php");
echo "Thank You!";
我认为

您需要通过电子邮件或作为域电子邮件发送电子邮件。示例:如果"xxx.com",则"xxx"是您的域名,因此您的域发送电子邮件的内容类似于 demo@xxx.com