【问题标题】:Simple contact form HTML with Captcha? [closed]带有验证码的简单联系表单 HTML? [关闭]
【发布时间】:2014-03-22 04:54:55
【问题描述】:

我正在为具有 ReCaptcha 或某种类型的反垃圾邮件功能的联系表单寻找一个简单的 HTML。我尝试了多个教程,但它们都很复杂,我无法工作。我只需要一个姓名、电子邮件和消息字段(以及 ReCaptcha 和提交按钮)。有谁知道我在哪里可以找到一个简单的联系表单 HTML?

【问题讨论】:

标签: php html forms contact spam-prevention


【解决方案1】:

如果您一直在努力实施recaptcha,那就去吧

$a=rand(2,9); // this will get a number between 2 and 9
$b=rand(2,9); // this will also get a number between 2 and 9. You can change this according to your wish

$c=$a+$b;

在php页面上只显示

echo $a."+".$b."="<input type="text" name="recaptcha" />

并检查文本框的值是否等于$c。

这是您可以实施以防止机器人出现的最简单的 recaptcha 类型的事情。

【讨论】:

    【解决方案2】:

    试试this小脚本: 您可以在论坛中轻松使用它

    <img src="tools/showCaptcha.php" />
    <input type="text" name="captcha"/>
    

    它会将验证码值存储在会话变量示例中

    if ($_POST["captcha"] == $_SESSION['captcha']) { ... } else { ... }
    

    【讨论】:

    • 您的链接已损坏。
    【解决方案3】:

    步骤 1

    • 您需要一些代码来生成图形字体图像表示网络验证码。您必须有GD library 才能生成字体图像。

      <?php
          session_start();
          $RandomStr = md5(microtime());
          $ResultStr = substr($RandomStr,0,5);
          $NewImage =imagecreatefromjpeg("bgimage.jpg");
      
          $LineColor = imagecolorallocate($NewImage,233,239,239);
          $TextColor = imagecolorallocate($NewImage, 255, 255, 255);
          imageline($NewImage,1,1,40,40,$LineColor);
          imageline($NewImage,1,100,60,0,$LineColor);
      
          $font = imageloadfont("font.gdf");
          imagestring ($NewImage, $font, 5, 5, $ResultStr, $TextColor ); 
          $_SESSION['originalkey'] = $ResultStr;  //store the original coderesult in session variable
      
          header("Content-type: image/jpeg");
          imagejpeg($NewImage);
      ?>
      

      第二步

    • 现在您的表单将调用验证码。

      <form action="submit.php" method="post" name="form1">
          Name:
          <input type="text" name="name" value="" /> <br />
          Email Address:
          <input type="text" name="email" value="" /> <br />     
          Message:
          <textarea name="message" cols="30" rows="6"></textarea> <br />
          <img src="php_captcha.php" />
          <input name="captcha" type="text" id="captcha" size="15" /> <br />
      
          <input type="submit" name="submit" value="Submit" />
          <input type="reset" name="reset" value="clear"/>
      </form>
      

    第三步

    • 现在这是表单提交时间检查验证码验证的最后一步。使用会话信息。

      <?php
            $originalkey = substr($_SESSION['originalkey'],0,5);  //session of captcha
            $captcha = $_REQUEST['captchacode'];
            if($captcha!=$originalkey){
              print_error("<b> Captcha does not match, Go back and try again.</b>");
            }
      ?>
      

    希望对您有所帮助!

    【讨论】:

    • GD库是php图形库。这个库已经包含在较新版本的 PHP 中。但较旧的 php 版本不能手动添加。该库用于生成验证码并存储在变量中以比较用户输入的验证码和真实的验证码是否相同?
    • 如果您使用 WAMP 服务器,您必须在 WAMP localhost 主页中显示“加载的扩展程序”。
    • 没有GD库..如何安装?
    • 如何安装 GD 库 Read This。但我建议你安装最新的 PHP 版本或 WAMP,它包含 GD 库。
    【解决方案4】:

    访问这里这可能会解决您的问题。它的简单形式与解释。

    http://www.html-form-guide.com/contact-form/html-contact-form-captcha.html

    【讨论】:

    • 我尝试了本教程,但是当我将 html 放入网站时,所有表单中都已包含代码,因此无法正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多