【问题标题】:Can't get CAPTCHA's to work?无法让 CAPTCHA 工作?
【发布时间】:2015-07-19 11:33:56
【问题描述】:

我最近考虑使用CAPTCHAs,因为我有一个联系表格,我想将其添加到。

但是,每个验证码似乎都显示相同的问题,即一旦我实现了验证码,您应该在 上回答验证码的 textarea 在 textarea 本身中有 PHP 代码.

如果有人可以指导我,并将我链接到一些可行的验证码,我将不胜感激!


这是我到目前为止所拥有的:

表格:

<div class="contactform">
        <form class="form" action="mail.php" method="POST">

            <div class="namebox">
            <p class="name">
                <label for="name">Name</label>
                <input type="text" name="name" id="name">
            </p>
            </div>

            <div class="emailbox">
            <p class="email">
                <label for="email">Email</label>
                <input type="text" name="email" id="email">
            </p>
            </div>

            <div class="titlebox">
            <p class="title">
                <label for="title">Title</label>
                <input type="text" name="title" id="title">
            </p>
            </div>
            <br>

            <div class="descriptionbox">
            <p class="description">
                <label for="description">Description</label>
                <textarea name="description"> </textarea>
            </p>
            </div>

            <br>

            <p class="submit">
                <input type="submit" value="Submit">
            </p>

        </form>
        </div>

PHP:

<?php 
$name = $_POST['name'];
$title = $_POST['title'];
$email = $_POST['email'];
$description = $_POST['description'];
$formcontent ="From: $name \n Message: $description";
$recipient = "email@email.com";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank you. Your message will be reviewed as soon as possible!";
?>

【问题讨论】:

  • 我在这里没有看到任何验证码。所有这一切,是一个联系表格。
  • @Fred-ii- 我没有在这个例子中包含验证码,因为我已经删除了对我不起作用的验证码,所以你是对的,这只是一个联系表。跨度>
  • 你去度假了吗?大声笑
  • @Fred-ii- 我不是,不,我只是没有看到这个特定区域的评论字段,所以当我第一次看到一些通知但什么也没看到时,我确实有点困惑更多在“答案”部分下
  • 好吧,我认为可能发生的是,您的 HTML 表单没有包含 .php 扩展名,这就是为什么您在其中显示“PHP 代码”而不是被解析的原因。如果您的文件是.htm.html,请将其重命名为.php。我很确定这就是这里发生的事情。告诉我。

标签: php html forms captcha contact


【解决方案1】:

@Fred-ii- 所以我确实意识到这是一个迟到的答案,但我为没有回到这里而感到难过。不过,我已经整理好了。虽然这段代码目前没有使用,但我联系了另一位拥有大量 PHP 知识的朋友,主要是为了检查,他说同样的话,扩展是导致它的原因。为您的回答和回复欢呼! :)

评论回答以结束问题:

我认为可能发生的是,您的 HTML 表单没有包含 .php 扩展名,这就是为什么您在其中显示“PHP 代码”而不是被解析的原因。

  • 如果您的文件是.htm.html,请将其重命名为.php

【讨论】:

    【解决方案2】:

    你知道验证码是如何工作的吗?
    让我给你解释一下:
    验证码保护系统的工作原理是生成随机字符串,将其写入图像,然后将字符串存储在会话中或通过其他方法。然后在提交表单时对其进行检查。
    THIS 文章是一个有价值的来源,请查看它,它将指导您创建安全的 CAPTCHA。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      • 2014-12-26
      • 2017-12-22
      • 2012-02-28
      • 2015-12-01
      相关资源
      最近更新 更多