分享

PHP Contact Us脚本,无需修改即可运行

 码农9527 2021-04-23

 PHPcontact-us脚本无需修改即可运行。它检测域并通过电子邮件发送所有与我们联系的表格数据

    即用型的PHP联系我们脚本,无需修改,它将检测域,并在表单中的任何字段将包含联系消息的电子邮件发送到info@exmple.com;它将检测到它们并通过电子邮件发送表单数据。

web

    PHP联系我们脚本中的新增功能

    用户必须先在名称字段,电子邮件,主题和消息中输入数据,然后才能提交

    新版本包含更多的用户输入筛选。因此,通过使用函数htmlspecialchars()和过滤器FILTER_SANITIZE_STRING清理每个输入键和值,可以确保脚本的安全。而且我会删除任何HTML代码或无效字符。

    介绍

    即用型的PHPcontact-us脚本,不需要修改,它将检测域,并在表单中的任何字段中将包含联系消息的电子邮件发送到info@exmple.com;它将检测到它们并通过电子邮件发送表单数据。

    系统要求

    任何具有托管支持PHP的网站;几乎所有主机都支持它。

    换句话说,您可以将其用于任何网站,而不管其用途是什么:纯HTML/PHP,WordPress,Joomla,Drupal或任何其他系统

    PHP版本:

    PHP5.6/PHP7.0/PHP7.1/PHP7.2/PHP7.3/PHP7.4/PHP8.0

    背景

    Internet上有很多与我们联系的脚本。另一方面,其他脚本需要在使用前修改PHP文件,而该脚本将直接运行。

    因此,该脚本对于不了解PHP的人和PHP的初学者非常有用。

    使用代码

    解压下载的zip文件

    然后在您网站的www目录中创建contact-us文件夹

    之后,将文件上传到contact-us文件夹

    仅此而已。

    最后,contact-us网址类似于example.com/contact-us,将您的域替换为example.com

    修改与我们联系的表单设计

    您可以根据需要修改与我们联系页面的设计,

    根据需要添加或忽略字段

    使用from_email,from_name,subject,message和captchaas字段名

    放置您自己的广告或使您的表格中没有广告

    您可以随意给我们添加链接。

    关于我们的联系代码

    从行动

<form action="send.php" method="POST">1复制代码类型:[html]

    栏位名称

    使用from_email,from_name,subject,message和captcha作为主要领域在你的表单名称。

    验证码

    如果你不希望使用验证码,然后换1日的“send.php”代码的行是:

$captcha = false;1复制代码类型:[html]

    如果你想使用验证码,则不需要进行变化和1日的“send.php”代码的行会:

$captcha = true;1复制代码类型:[html]

    如果需要修改表格;请注意,我们使用的是验证码,请在您的表单中添加以下内容:

<img src="captcha_code_file.php?rand=<?php echo rand(); 
?>" id='captchaimg' ><br>Enter the code above here : <input id="captcha" name="captcha" type="text"><br>12345复制代码类型:[html]

    输入过滤

    为了确保脚本的安全,我们使用FILTER_SANITIZE_STRING清理每个输入键和值。我会删除任何HTML代码或无效字符。

    谢谢URL

    把自己$thank_you_url的2次的代码行。

    该脚本有什么作用?

    检查引荐来源页面并停止脚本(如果直接调用该脚本):

$REFERER = $_SERVER['HTTP_REFERER'];
if(!preg_match("@^http:\/\/(www\.)?$domain\/@",$REFERER)){
 die("This page can't be call directly");
}1234复制代码类型:[html]

    验证用户电子邮件和用户名,以防止在mail()函数的标头参数中注入错误的命令

if(!$from_email) $from_email = "web_page@$domain";
if (!filter_var($from_email, FILTER_VALIDATE_EMAIL)) {
 $Err .= 'Invalid email format<br>';
 $from_email = "web_page@$domain";
}12345复制代码类型:[html]

    验证主题并在需要时对其进行编码,以防止发送失败:

if ($subject && !preg_match('/^[A-Za-z ]+$/',$subject)){
 $subject = "=?UTF-8?B?".base64_encode($subject)."?=";
}123复制代码类型:[html]

    将验证码存储在会话中并将其与变量进行比较

    寻找所有发布的变量

foreach ($_POST as $key => $value)
{
 if ( strpos( strtolower( $key ), 'email' ) !== false ) { 
  $value = filter_var( $value, FILTER_SANITIZE_EMAIL ); 
 } else { 
  $value = filter_var( $value, FILTER_SANITIZE_STRING ); 
 } 
 $value = htmlspecialchars( $value ); 
 $key = filter_var( $key, FILTER_SANITIZE_STRING ); 
 $key = htmlspecialchars( $key ); 
 $message_html .= "<h2>$key</h2><p>$value</p>";
}123456789101112复制代码类型:[html]

    以HTMLUTF-8格式发送消息以与大多数语言兼容

    重定向到谢谢URL

header('Location: '. $thank_you_url);1复制代码类型:[html]

    PHP邮寄技术

    PHP中有很多邮寄技术。PEARMail,PHPMailer和邮件功能。但是,我们仅使用邮件功能,因为它很常见且很简单。

    PHP电子邮件验证

    PHPFILTER_SANITIZE_EMAIL过滤器

    从电子邮件地址中删除所有非法字符:

$from_email = filter_var($from_email, FILTER_SANITIZE_EMAIL);1复制代码类型:[html]

    PHPFILTER_VALIDATE_EMAIL过滤器

    检查变量$email是否为有效的电子邮件地址:

if (!filter_var($from_email, FILTER_VALIDATE_EMAIL)) {  
 $Err .= 'Invalid email format<br>';   
 $from_email = "web_page@$domain";
}1234复制代码类型:[html]

    使用正则表达式验证PHP中的电子邮件:

$pattern = '/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/';
if(!preg_match($pattern, $from_email)){ 
 $Err .= 'Invalid email format<br>';   
 $from_email = "web_page@$domain";
}12345复制代码类型:[html]

    你下一步怎么做?

    设置最大电子邮件数可以每小时发送一个IP。

    如果您对此部分有任何建议或需要改进脚本;请在下一个版本的注释中写下它。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多