2010-10-04 58 views
-2

我有点新来的PHP,我想弄清楚如何使recaptcha在我的网站上工作。如何在注册表单中实现reCaptcha?

这里是我的“signup.php”的摘录,我已经相应signup.html它就像一个模板......它的头部看起来像下面...

<?php 
require_once('includes/config.php'); 
require_once('includes/functions/func.global.php'); 
require_once('includes/classes/class.template_engine.php'); 
require_once('includes/lang/lang_'.$config['lang'].'.php'); 
// Connect to database 
db_connect($config); 
// Start Session 
session_start(); 

安全部分代码是...

if($config['security']) 
{ 
    $_POST['security_code'] = trim($_POST['security_code']); 

    if(strtoupper($_POST['security_code']) != strtoupper($_SESSION['seccode'])) 
    { 
    $security_error = $lang['INVALIDSECWORD']; 
    $errors++; 
    } 
} 

if($errors == 0) 
{ 
    $rem = md5(mt_rand(0,56)*time()); 

    if($config['validation'] == '1') 
    { 
    mysql_query("INSERT INTO `".$config['db']['pre']."users` (`user_id` , `username` , `password` , `email` , `remember` , `status`) VALUES ('', '".validate_input($_POST['username'])."', '".validate_input(md5($_POST['password']))."', '".validate_input($_POST['email'])."', '".validate_input($rem)."', '0');"); 

    $user_id = mysql_insert_id(); 

在最后...它加载注册模板...

// Load signup template 
$page = new HtmlTemplate ('templates/' . $config['tpl_name'] . '/signup.html'); 
$page->SetParameter ('OVERALL_HEADER', create_header($config,$lang,$cats,$lang['SIGNUP'])); 
$page->SetParameter ('OVERALL_FOOTER', create_footer($config,$lang)); 
$page->SetLoop ('CATS', $cats); 
if(isset($_POST['username'])) 
{ 
$page->SetParameter ('USERNAME_FIELD', $_POST['username']); 
$page->SetParameter ('EMAIL_FIELD', $_POST['email']); 

$page->SetParameter ('USERNAME_ERROR', $username_error); 
$page->SetParameter ('PASSWORD_ERROR', $password_error); 
$page->SetParameter ('EMAIL_ERROR', $email_error); 
$page->SetParameter ('AGREE_ERROR', $agree_error); 
$page->SetParameter ('SECURITY_ERROR', $security_error); 
} 
else 
{ 
$page->SetParameter ('USERNAME_FIELD', ''); 
$page->SetParameter ('EMAIL_FIELD', ''); 

$page->SetParameter ('USERNAME_ERROR', ''); 
$page->SetParameter ('PASSWORD_ERROR', ''); 
$page->SetParameter ('EMAIL_ERROR', ''); 
$page->SetParameter ('AGREE_ERROR', ''); 
$page->SetParameter ('SECURITY_ERROR', ''); 
} 
if(isset($_SESSION['duser']['id'])) 
{ 
$page->SetParameter ('LOGGEDIN', 1); 
} 
else 
{ 
$page->SetParameter ('LOGGEDIN', 0); 
} 
$page->SetParameter ('SECURITY_CODE',$config['security']); 
$page->SetParameter ('SITE_TITLE',$config['site_title']); 
$page->CreatePageEcho($lang,$config); 

现在我想知道在哪里需要插入代码recaptcha ...我已经注册了,我到了我用户需要的功能包括recaptcha库的部分,但之后,我不知道我需要插入哪些代码在哪部分用recaptcha替换常见的随机图像代...

任何方向,建议或解决方案真的很感激。

谢谢

回答

2

您是否尝试过查看文档? http://code.google.com/apis/recaptcha/docs/php.html

+0

更具体地说,recaptcha_get_html($ publickey); – theAlexPoon 2010-10-04 02:20:13

+0

我试着看文档,但我发现很难用现有的安全代码生成系统替换它...我有另一个名为“seccode.php”的文件,它生成一个图像并将其传递给上面的代码。 ..我需要用recaptcha替换这个系统... – Roy 2010-10-04 04:01:13