У меня есть проект на 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(); ?>
Captcha отлично работает на локальном хосте, но не работает в прямом эфире. Что происходит не так?
Заранее спасибо.
update
также требует проверки капчи. Разница только в том, что я использую googleReCaptcha (не собственную Yiis). Я добавил'required', 'on' => 'update'
в правила модели, но это не решило мою проблему. Я решил это, добавив поле капчи в (также) файлupdate.php
. Но, на данный момент, каков ваш подход к решению этой проблемы? Помогите пожалуйста правильно настроить. Спасибо. - person Mirjalal   schedule 23.05.2016