首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php表单蜜罐技术

问php表单蜜罐技术
EN

Stack Overflow用户
提问于 2016-11-06 18:03:09
回答 1查看 1K关注 0票数 0

我正在尝试使用蜜罐技术在wordpress网站上创建自定义表单。我的表单看起来是这样的。

代码语言:javascript
复制
<form id="form-1" 
    action="<?php echo get_template_directory_uri(); ?>/mail.php" method="post" class="order__form form">
    <p class="form__title">Order and Receive 30% off</p>
    <p class="form__text">fill out this form so you can get sale</p>
    <input type="text" name="name" class="form__item" placeholder="Your name">
    <input type="email" name="email" required class="form__item" placeholder="Email address">
    <p class="robotic" id="pot">
        <label>If you're human leave this blank:</label>
        <input name="robotest" type="text" id="robotest" class="robotest" />
    </p>
    <input type="submit" value="Send" class="button form__button">
</form>

输入名称为robotest,以便在服务器端进行验证。

这是mail.php代码:

代码语言:javascript
复制
<?php
    $mess = '';
    $mess .= '<hr>';
    if($_POST['robotest'] != ''){
        $error = "You are a gutless robot.";
    } else {
        if(isset($_POST['name'])) {
            $name = substr(htmlspecialchars(trim($_POST['name'])), 0, 100);
            $mess .= '<b>Имя отправителя: </b>' . $name . '<br>';
        }
        if(isset($_POST['email'])) {
            if($_POST['email']!=''){
                $email = substr(htmlspecialchars(trim($_POST['email'])), 0, 100);
                $mess .= '<b>E-mail: </b>' . $email . '<br>';
            }
        }
    }

    $mess .= '<b>Заявка пришла со страницы:</b> ' . $_SERVER["HTTP_REFERER"] .'<br>'; 
    $mess .= '<hr>';

    require 'class.phpmailer.php';

    $mail = new PHPMailer();
    $mail->AddAddress('xxx2xxx.com','');
    $mail->IsHTML(true); 
    $mail->CharSet = "UTF-8"; 
    $mail->Subject = "new";
    $mail->From = "new"; 
    $mail->FromName = "new"; 
    $mail->Body = $mess;

    if ($mail->Send()) {
        header('Location: ../'); 
    } else { 
        die ('Mailer Error: ' . $mail->ErrorInfo); 
    }

    header("Location: /thanks/");

?>

当我为robotest添加验证时,此脚本不起作用。

EN

回答 1

Stack Overflow用户

发布于 2016-11-06 21:21:49

您正在设置$error变量,但没有在任何地方使用它。

如果您更改了:

代码语言:javascript
复制
$error = "You are a gutless robot.";

发送到a:

代码语言:javascript
复制
die( "You are a gutless robot." );

你会得到你所描述的你想要的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40448087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档