gpt4 book ai didi

php - 如何在 Zend Form 中添加验证码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:36:31 25 4
gpt4 key购买 nike

我需要使用 Zend Captcha 并编写了以下代码:

<?php

require_once ('Zend/Form.php');

class Form_Signup extends Zend_Form {

public function __construct( $options = null ) {

parent::__construct( $options );

// Set method
$this->setMethod('post');

// Elements array
$elements = array();

$element = new Zend_Form_Element_Captcha('captcha', array('label' => "",
'captcha' => array('captcha' => 'Image',
'name' => 'myCaptcha',
'wordLen' => 5,
'timeout' => 300,
'font' => 'font/monofont.ttf',
'imgDir' => 'captcha/',
'imgUrl' => '/captcha/')
)
);
$elements[] = $element;

// Submit Button
$element = $this->CreateElement('submit', 'Signup');
$element->setLabel('Signup');
$elements[] = $element;

// --------------------------
// Add elements to the form
// --------------------------

// update tabindex
foreach ($elements as $index => $element) {
$element->setAttrib('tabindex', ($index + 1));
}

$this->addElements($elements);
$this->setElementDecorators(array('ViewHelper'));

// Set form decorator (what script will render the form)
$this->setDecorators(array(array('ViewScript' , array('viewScript' => 'signup/form.phtml'))));

}

}

?>

我遇到的问题是,当我在“form.phtml”文件中显示它时,如:

<?= $this->element->captcha ?>

它显示以下内容:

enter image description here

即它显示 2 个文本框。

请帮助我应对这种情况。 :)

最佳答案

您将获得第二个文本字段,因为您正在为验证码元素使用 ViewHelper 装饰器。不要为验证码元素设置 ViewHelper 装饰器,它应该可以工作。

关于php - 如何在 Zend Form 中添加验证码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com