2011-04-13 83 views
0

http://codeigniter.com/wiki/ReCAPTCHA/CodeIgniter 1.7 reCaptcha帮助

好的。所以我下载了代码。将所有文件移到适当的文件夹中。在config/recaptcha.php文件中设置键。然后在那里我的表单提交逻辑我放在

$this->form_validation->run() 

功能。

然后在HTML中我做了什么?我需要显示用户输入的验证码。我看到谷歌的代码将php recaptcha添加到非代码点火器文档中,但我不确定哪些部分是相关的。我不知道我应该如何打电话给特定的文件。眼下

<? $this->load->view('recaptcha.php'); 
$publickey = "thekeynumbersandgibberish"; 
echo get_html($publickey); 
?> 

目前这打破我的HTML页面,我想我没有正确调用文件和功能使用代码点火器的语法。什么是正确的语法?这不包含在代码点火器文档中。

Insight将不胜感激。

+0

我没有用在CI的验证码,但蛋糕使用它时,我只是用'$验证码\t = recaptcha_get_html($公钥)加载的验证码HTML; '在控制器中,然后将其分配给视图。没有在视图中加载任何文件 – JohnP 2011-04-13 18:26:44

+0

不幸的是,我并不真正了解所有需要的细节。你能详细说明吗?我究竟如何“分配一些视图” – CQM 2011-04-16 02:50:15

+0

我已经添加了一些更多的细节作为答案。 – JohnP 2011-04-16 05:06:50

回答

0

你需要调用这个在您的控制器首先

//In your Controller 
$data['recaptcha'] = this->recaptcha->get_html(); 
$this->load->view('my_view',$data); //try it with the test page first 

//In your View 
$this->load->view('recaptcha.php'); 

在维基的说明是非常简单的。不要在视图中加载文件。在控制器中分配HTML。

这是使用MVC时的正常流程。

有一个基本的CI教程这里:http://net.tutsplus.com/tutorials/php/codeigniter-basics/

+0

谢谢,这至今非常有帮助。我有一个文件contact.php在我的联系表单中,' load-> view('recaptcha.php');?>放在正确的位置,我可以看到代码已经加载,当我做一个视图源。它虽然没有直观显示,但我还没有完成控制器的部分工作,因为我找不到控制器“this-> load - >”的联系人视图。我实际上正在对这个文件结构进行逆向工程,试图弄清楚这一点,我认为一个CMS被用来创建这个网站,但我不知道哪个CMS /如何找到基于只有一个directry列表 – CQM 2011-04-16 19:53:44

+0

那么,已经提到了Codeigniter。所以看看网址。通常,这些网址就像这样'http:// sitename.com/controller/action/param'。这是标准,除非涉及到自定义路线。您可能需要与熟悉该项目的人交谈才能找到答案。因为如果您使用的是模板引擎,视图调用将会不同 – JohnP 2011-04-17 04:52:36

+0

URL路径看起来像“http:// sitename.com // folder/deeperfolder”首先是您认识的东西吗?其次它是完全自定义的,是的,网站名称后面有两个斜线。那将被定义在哪里?我得到的基本CodeIgniter MVC的东西,但这种额外的扭曲似乎没有什么直观的目录结构 – CQM 2011-04-18 15:48:02