【问题标题】:How to use contact form php如何使用联系表格php
【发布时间】:2015-12-16 16:44:52
【问题描述】:

我从主题森林购买了一个主题,以进一步使用 html 和 css 构建它。 但是有一个联系表格,我不知道如何使用。我是 php 和 javascript 的初学者。我认为我应该将我的电子邮件地址插入到://在此处输入您的电子邮件地址$address = 'hello@email.com';。但这并没有锻炼。

我的问题是:我该如何进行这项工作,以便当有人尝试通过填写联系表格与我联系时,我会收到邮件到我的电子邮件地址。我自己在本地服务器上进行了测试,当我尝试填写联系表时,我没有收到任何邮件。任何人请把我带到正确的方向。

<?php

if(!$_POST) exit;

function tommus_email_validate($email) { return filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\./', $email); }

$name = $_POST['name']; 
$email = $_POST['email']; 
$website = $_POST['website']; 
$comments = $_POST['comments'];

if(trim($name) == '') {
	exit('<div class="alert danger">Attention! You must enter your name.</div>');
} else if(trim($name) == 'Name') {
	exit('<div class="alert danger">Attention! You must enter your name.</div>');
} else if(trim($email) == '') {
	exit('<div class="alert danger">Attention! Please enter a valid email address.</div>');
} else if(!tommus_email_validate($email)) {
	exit('<div class="alert danger">Attention! You have entered an invalid e-mail address.</div>');
} else if(trim($website) == 'Website') {
	exit('<div class="alert danger">Attention! Please enter your website.</div>');
} else if(trim($website) == '') {
	exit('<div class="alert danger">Attention! Please enter your website.</div>');
} else if(trim($comments) == 'Message') {
	exit('<div class="alert danger">Attention! Please enter your message.</div>');
} else if(trim($comments) == '') {
	exit('<div class="alert danger">Attention! Please enter your message.</div>');
} else if( strpos($comments, 'href') !== false ) {
	exit('<div class="alert danger">Attention! Please leave links as plain text.</div>');
} else if( strpos($comments, '[url') !== false ) {
	exit('<div class="alert danger">Attention! Please leave links as plain text.</div>');
} if(get_magic_quotes_gpc()) { $comments = stripslashes($comments); }

//ENTER YOUR EMAIL ADDRESS HERE
$address = 'hello@email.com';

$e_subject = 'You\'ve been contacted by ' . $name . '.';
$e_body = "You have been contacted by $name from $website from your contact form, their additional message is as follows." . "\r\n" . "\r\n";
$e_content = "\"$comments\"" . "\r\n" . "\r\n";
$e_reply = "You can contact $name via email, $email";

$msg = wordwrap( $e_body . $e_content . $e_reply, 70 );

$headers = "From: $address" . "\r\n";
$headers .= "Reply-To: $email" . "\r\n";
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/plain; charset=utf-8" . "\r\n";
$headers .= "Content-Transfer-Encoding: quoted-printable" . "\r\n";

if(mail($address, $e_subject, $msg, $headers)) { 
	echo "<fieldset><div id='success_page'><h4 class='remove-bottom'>Email Sent Successfully.</h4><p>Thank you <strong>$name</strong>, your message has been submitted to us.</p></div></fieldset>"; 
}
<section id="contact" class="page-section dark-wrapper">
		<div class="container">
			<div class="row">
				
				<div class="page-header text-center">
					<!-- multiple h1's are perfectly acceptable on a page in valid HTML5, when wrapped in individual sections, they're 100% semantically correct -->
					<h1>Contact Me<small>Here's a Working Contact Form</small></h1>
					<!-- seriously -->
				</div>
				
				<div class="col-sm-8">
					<div id="message"></div>
					<form method="post" action="sendemail.php" id="contactform">
						<input type="text" name="name" id="name" placeholder="Name" />
						<input type="text" name="email" id="email" placeholder="Email" />
						<input type="text" name="website" id="website" placeholder="Website" />
						<textarea name="comments" id="comments" placeholder="Comments"></textarea>
						<input type="submit" name="submit" value="Submit" />
					</form>
				</div>
				
				<div class="col-sm-4 lp30">
					<h5>Contact Me</h5>
					<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar.</p>
					<ul class="fa-ul">
						<li class="bm15"><i class="fa fa-map-marker fa-fw fa-2x fa-li"></i> Denmark</li>
						<li class="bm15"><i class="fa fa-phone-square fa-fw fa-2x fa-li"></i> 08044576869</li>
						<li class="bm15"><i class="fa fa-laptop fa-fw fa-2x fa-li"></i> <a href="mailto:info@jjtranslation.com" target="_top">mail@me.com</a></li>
					</ul>
				</div>	 
				
			</div>
		</div>
	</section>

【问题讨论】:

  • 问题是?
  • 你在哪里测试?本地服务器或网络服务器。
  • 问题是:我如何使这项工作在我发送测试邮件时发送到我的电子邮件。目前,当我尝试填写联系表并发送时,我没有收到任何邮件。
  • 是的,我在本地服务器上试过了。我的电脑上有我的文件。
  • @RohitashvSinghal 邮件功能在本地主机上工作,您只需要配置邮件服务器。在 Web 服务器中,管理员已经为您完成了这项工作

标签: php html


【解决方案1】:

如果您不想为编写 PHP 代码而烦恼,请查看Formspree。该服务对于每月最多 1000 个请求是免费的。

它的使用也非常简单:只需将action 属性添加到您的表单中。像这样:

<form action="//formspree.io/your@email.com"
      method="POST">
    <input type="text" name="name">
    <input type="email" name="_replyto">
    <input type="submit" value="Send">
</form> 

【讨论】:

  • 服务很好,谢谢分享。我认为尤其是如果您不期望收到那么多邮件,那就太完美了。
  • 感谢分享!我一定会试穿的!
【解决方案2】:

如果没有正确配置 php.ini,您将永远不会在本地发送任何电子邮件(您需要正确设置 smtp 服务器)。但是,当您将其上传到您的虚拟主机位置时,它将开始工作而无需任何电子邮件配置。它将使用来自服务器的 smtp 设置。只需尝试上传,您就会看到它的魔力。

【讨论】:

    【解决方案3】:

    您可以对此进行测试,但您必须在 php.ini 中正确配置 SMTP 服务器。如果您在托管服务器上进行测试,这应该不是问题,如果您是在本地测试,则必须编辑 php.ini 文件并设置 SMTP 服务器。

    【讨论】:

    • 谢谢!我在我的本地服务器上测试它,这就是它没有成功的原因。
    猜你喜欢
    • 1970-01-01
    • 2018-03-23
    • 2015-01-28
    • 2015-09-24
    • 2020-04-05
    • 2013-08-15
    • 2015-06-17
    • 2016-06-23
    • 2017-06-25
    相关资源
    最近更新 更多