我对PHP并不熟悉,我试图在我的页面上实现一个简单的邮件脚本。但似乎没有任何事情发生。我所使用的服务器肯定支持PHP。除了上传文件外,我还需要做什么吗?
所以我有我的contact.php,其中只有普通的HTML-Code,其中包含< ?php?>在<中标记头>部分。
它是这样的:
<?php
// Ausführen wenn Formular gesendet
if (isset($_POST["submit"]))
{
// Sammeln der Formulardaten
$an = "MYMAILADRESS@outlook.com";
$name = $_POST['name'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
// Mailheader UTF-8 fähig machen
$mail_header = 'From:' . $email . "\n";
$mail_header .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
// Nachrichtenlayout erstellen
$message = "
Name: $name\n
Email: $email\n
Nachricht: $nachricht\n
";
// Verschicken der Mail
mail($an, $betreff, $message, $mail_header );
};
?>
当然我故意改变了“MYMAILADRESS”。 HTML表单如下所示:
<form id="form" action="thank_you.html" method="post">
<label for="name">Name:</label>
<input id="name" name="name" type="text" /><br />
<label for="email">E-Mail: *</label>
<input id="email" name="email" type="text" /><br />
<label for="betreff">Betreff:</label>
<input id="betreff" name="betreff" type="text" /><br />
<label for="nachricht">Nachricht: *</label>
<textarea id="nachricht" name="nachricht"></textarea><br />
<p class="fussnote">* kennzeichnet Pflichtfelder</p>
<input id="submit" name="submit" type="submit" value="Absenden" />
</form>
如果有人能帮助我,那就太好了! :)
答案 0 :(得分:1)
表单的action
指向可能由.html
文件解析的URL。大多数支持PHP的Web服务器都没有配置为通过PHP处理器运行.html
文件。请改用.php
扩展程序。
答案 1 :(得分:0)
您提供的代码应该可以使用,但要注意您将自己留给潜在的黑客。
PHP的mail()
函数不会努力清理它收到的输入;您的访问者可以使用换行符发送from
地址,并添加一些其他邮件标题(例如CC或BCC),以便从您的网站发送垃圾邮件。
清理输入相对容易,但即便如此,你仍然需要使用mail()
函数并不是很容易使用 - 你最终会得到很多相对较少功能的代码。
出于这个原因,我总是建议使用第三方邮件库。有几个很好的PHP可用;我的首选是phpMailer。下载此PHP脚本,将其作为您网站的一部分包含在内,并按照如何使用它发送邮件的说明进行操作 - 您会发现它比mail()
功能更容易使用,而您却没有需要担心黑客攻击,因为它会为你完成所有的输入消毒工作。
希望有所帮助。
答案 2 :(得分:-1)
这是你的问题,
所以我有我的contact.php,其中只有普通的HTML-Code,其中包含&lt; ?php?&gt;在&lt;中标记头&GT;部分。
将PHP代码(inc标签)移动到HTML正文标记中。
另外,将表单操作更改为.php文件。