大家好,这是我关于stackoverflow的第一个问题。
我是一名业余网页设计师,设计一个非常静态的网站..我需要为用户查询创建一个联系表单。这项任务的最佳方法是什么?
1)php的mailto功能?
2)表格数据存储在文本文件或电子表格中?
3)数据库连接(不是首选)
任何帮助都会非常感激!!
答案 0 :(得分:1)
要在php中创建一个简单的联系我们表单,您不需要创建任何数据库。您必须在PHP中使用mail()
函数
您可以参考以下链接建立简单的联系我们表格: -
http://www.phpeasystep.com/phptu/8.html
http://www.freecontactform.com/email_form.php
或强>
page1.php中
<h2>Your Title</h2>
<form action="receiving.php" method="POST">
Name:<br><input type="text" name="name" size="40" /><br><br>
Email:<br><input type="text" name="email" size="40" /><br><br>
Phone:<br><input type="text" name="phone" size="40"><br><br>
Message:<br><textarea name="message" rows="3" cols="31" > </textarea><br><br>
<input type="submit" name="submit" value="Submit" />
<br><br>
</form>
receiving.php
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
if(isset($_POST['submit']))
{
$from_add = "contactform@yourwebsite.com";
$to_add = "yourname@yourwebsite.com";
$subject = "Your Subject Name";
$message = "Name:$name \n Email: $email \n Phone: $phone \n
Message: $message";
$headers = "From: $from_add \r\n";
$headers .= "Reply-To: $from_add \r\n";
$headers .= "Return-Path: $from_add\r\n";
$headers .= "X-Mailer: PHP \r\n";
if(mail($to_add,$subject,$message,$headers))
{
$msg = "Mail sent";
}
}
print "<p> Thank you $name for your message,
we will be in contact shortly. <a href=\"index.php\">Click here</a>
to continue </p>" ;
?>
注意: - 您无法从localhost发送邮件,在localhost配置其他一些smtp,例如:google,yahoo ...
答案 1 :(得分:0)
只需构建一个html表单并将数据发送到php文件即可。除非您想存储所有消息或IP,否则根本不需要数据库 A simple search will get you a lot of results.
在phpfile中你有两个选择:按原样使用php的mail()
,或者尝试PHPmailer。后者有点复杂,但最终减少垃圾邮件,它为你设置标题和一切。
特别是当您从网站上的多个指针发送邮件时,我建议PHPmailer。
回复您的一条评论:
所有邮件都发生在服务器上。 PHP是服务器端语言,所有操作在服务器上发生,而不是在用户计算机上发生。因此,您的代码应始终位于服务器上,或者本地使用WAMP(或LAMP)
答案 2 :(得分:0)
使用邮件功能的联系表格示例代码
<?php
if (isset($_POST['action'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
if ($name == "" || $email == "" || $message == "") {
echo "All fields are required, please fill the form again.";
} else {
$from = "From: $name<$email>\r\nReturn-path: $email";
$subject = "Message sent using your contact form";
mail("youremail@yoursite.com", $subject, $message, $from);
echo "Email sent!";
}
}
?>
<form action="" method="POST">
Your name:<br>
<input name="name" type="text" /><br>
Your email:<br>
<input name="email" type="text"/><br>
Your message:<br>
<textarea name="message" rows="7" cols="30"></textarea><br>
<input type="submit" name="action" value="Send email"/>
</form>