【问题标题】:Captcha is not working in Yii2验证码在 Yii2 中不起作用
【发布时间】:2016-05-25 22:28:23
【问题描述】:

我在 Yii2 中有一个项目,我在本地验证码上的联系表单中工作正常,但不能在线工作。

这是我的验证码操作。

'captcha' => [
     'class' => 'yii\captcha\CaptchaAction',
     'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
],

这是我的 UrlManager 规则。

'<alias:captcha|index|contact>' => 'site/<alias>',

这是表格

<?php $form = ActiveForm::begin(['id' => 'contact-form']); ?>
        <?= $form->field($model, 'name')->textInput(['placeholder' => 'Enter Name']) ?>
        <?= $form->field($model, 'email')->textInput(['placeholder' => 'Enter Email']) ?>
        <?= $form->field($model, 'subject')->textInput(['placeholder' => 'Enter Subject']) ?>
        <?= $form->field($model, 'body')->textArea(['rows' => 6]) ?>
        <?= $form->field($model, 'verifyCode')->widget(Captcha::className(), [
            'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-6">{input}</div></div>',
        ]) ?>

        <div class="form-group">
            <?= Html::submitButton('Submit', ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?>
        </div>
    <?php ActiveForm::end(); ?>

验证码在 localhost 中工作正常,但不能在现场工作。怎么了?

提前致谢。

【问题讨论】:

  • 你能从你的服务器显示你的 requirements.php 结果吗?
  • 我的意思是请在你的服务器上从 yii 检查并运行你的 requirements.php 文件。确保“GD PHP 扩展”和“ImageMagick PHP”已经通过。
  • @Undefined 问题解决了吗?如果是怎么办?
  • @MirjalalTalishinski 那是我的服务器的错误..当时没有安装一些扩展..现在它工作正常...
  • @Undefined 我昨天也遇到了同样的问题。我的update 操作也需要验证码。区别仅在于我使用的是 googleReCaptcha(不是 Yiis 自己的)。我已将'required', 'on' =&gt; 'update' 添加到模型规则中,但这并没有解决我的问题。我通过将验证码字段添加到(也)update.php 文件来解决它。但是,此时您解决此问题的方法是什么?请帮我配置正确。谢谢。

标签: php yii2 captcha yii2-advanced-app


【解决方案1】:
  1. 制作manual 中描述的所有内容
  2. 如果看不到验证码,在项目根目录下输入命令行查看Yii2要求:

    php 要求.php

  3. 如果有问题 - 修复它。注意必须安装 gd + freetype OR imagick。 watch "throws" row

  4. 如果验证码不再显示,请检查 php 文件编码。它必须是没有 BOM 的 utf-8。尤其要注意 gitignore 中的 *_local.php 文件。有时,它们可以由 ftp 编辑,在默认情况下添加 BOM 的文本编辑器的帮助下。这个项目花费了我 5 个小时的工作时间。

【讨论】:

  • 要检查的另一件事是,您是否使用以下 URL 管理器规则从路由中删除 site'&lt;alias:about|contact&gt;' =&gt; 'site/&lt;alias&gt;',,您已向其添加了 captcha 操作。也许您在本地进行了更改,但尚未上传该更改。
猜你喜欢
  • 1970-01-01
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多