在Joomla中使用ReCaptcha和我的自定义表单 [英] Using ReCaptcha with my custom form in Joomla
问题描述
我试图使用JFormFieldCaptcha来处理我的自定义jForm。我设法通过注册和联系表格完成工作。然而,我想建立我自己的基于XML文件的联系表单,看起来像这样:
< form>
< fieldset addfieldpath =< JFormFieldCaptcha class的路径>>
name =captchalabel =Captchadescription =COM_DEZTOUR_ORDER_CAPTCHA_DESC
type =textvalidate =captcha
/>
< / fieldset>
< / form>
我无法弄清楚为什么这段代码不工作。任何帮助将被appriciated!
为了使用Joomla ReCaptcha插件 -
1)从 http://www.google.com/recaptcha 获取recaptcha密钥
2)将这些键设置为recaptcha插件,如果不是,则激活它。
3)转到全球配置=> Site =>默认验证码
并设置默认验证码= >Captcha - ReCaptcha
4)创建具有您的验证码字段的xml表单实例
$ form =& JForm ::的getInstance( myForm的,路径/到/形式/ form.xml);
5)在表单中创建字段 -
$ fieldSets = $ form-> getFieldsets();
foreach($ fieldSets as $ name => $ fieldSet):
?>
<?php
foreach($ form-> getFieldset($ name)as $ field):
?>
< p>
<?php if(!$ field-> hidden):?>
< span class =formlabel><?php echo $ field-> label; ?>< /跨度>
<?php endif; ?>
< span class =control><?php echo $ field-> input; ?>< /跨度>
< / p>
<?php
endforeach;
?>
< div class =clr>< / div>
<?php
endforeach;
6)表单提交后验证表单 -
$ post = JRequest :: get('post');
jimport('joomla.form.form');
$ form =& JForm ::的getInstance( myForm的,路径/到/形式/ form.xml);
$ res = $ form-> validate($ post);
XML表格示例 -
<?xml version =1.0encoding =utf-8?>
addfieldpath =/ administrator / components / com_franchise / models / fields>
< fieldset name =information>
< field id =name
name =name
type =text
label =Name
description =
class =inputbox
size =30
default =
required =true
/>
name =captcha
type =captcha
label =COM_CONTACT_CAPTCHA_LABEL
description =COM_CONTACT_CAPTCHA_DESC
validate =captcha
/>
< / fieldset>
< / form>
您也可以试试这个 -
如何使用joomla recaptcha插件到我的自定义模块
I'm trying to use JFormFieldCaptcha to work on my custom jForm. I managed to get the job done with registration and contact forms. However i want to build my own contact form which is based on an XML file somehow look like this:
<form>
<fieldset addfieldpath="<path to JFormFieldCaptcha class>">
<field
name="captcha" label="Captcha" description="COM_DEZTOUR_ORDER_CAPTCHA_DESC"
type="text" validate="captcha"
/>
</fieldset>
</form>
i cannot figure out why this code not working. Any help would be appriciated!
In order to use Joomla ReCaptcha plugin -
1)Get recaptcha keys from http://www.google.com/recaptcha
2)Set these keys to recaptcha plugin and activate it if it's not.
3) Go to Global Configuration=>Site=>Default Captcha
and set "Default Captcha"=>"Captcha - ReCaptcha"
4)Create xml form instance which has your captcha field
$form =& JForm::getInstance('myform','path/to/form/form.xml');
5)Create fields inside form-
$fieldSets = $form->getFieldsets();
foreach ($fieldSets as $name => $fieldSet) :
?>
<?php
foreach ($form->getFieldset($name) as $field):
?>
<p>
<?php if (!$field->hidden) : ?>
<span class="formlabel"><?php echo $field->label; ?></span>
<?php endif; ?>
<span class="control"><?php echo $field->input; ?></span>
</p>
<?php
endforeach;
?>
<div class="clr"></div>
<?php
endforeach;
6)After form submission validate form-
$post = JRequest::get('post');
jimport( 'joomla.form.form' );
$form =& JForm::getInstance('myform','path/to/form/form.xml');
$res = $form->validate($post);
XML form example-
<?xml version="1.0" encoding="utf-8"?>
<form
addfieldpath="/administrator/components/com_franchise/models/fields">
<fieldset name="information">
<field id="name"
name="name"
type="text"
label="Name"
description=""
class="inputbox"
size="30"
default=""
required="true"
/>
<field
name="captcha"
type="captcha"
label="COM_CONTACT_CAPTCHA_LABEL"
description="COM_CONTACT_CAPTCHA_DESC"
validate="captcha"
/>
</fieldset>
</form>
You can also try this- How to use joomla recaptcha plugin to my custom Module
这篇关于在Joomla中使用ReCaptcha和我的自定义表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!