Ich habe eine Seite, die Multi-Captcha in getrennten Formularen Beispiel Anmelde-und Register-Modalitäten usw. enthält. Wenn ich unter Codes verwenden, ist das Problem, dass beim Aktualisieren eines Captcha dann ein anderes Captcha unbrauchbar sein wird sie verwenden dieselbe Sitzung varible:Yii2 Multi Captcha in einer Seite
1) Loggen
Login modal (Ansicht):
echo Captcha::widget([
'id' => 'Login-captcha',
'name' => 'LoginModel[captcha]',
'captchaAction' => '/site/captcha'
]);
LoginModel:
public function rules()
{
return [
['captcha', 'captcha'],
];
}
2) Register
Register modal (Ansicht):
echo Captcha::widget([
'id' => 'register-captcha',
'name' => 'RegisterModel[captcha]',
'captchaAction' => '/site/captcha'
]);
RegisterModel:
public function rules()
{
return [
['captcha', 'captcha'],
];
}
Sitzung Problem zu lösen, ich verschiedene Captcha-Aktionen verwendet, um verschiedene Session-Variablen zu setzen:
1) Login
modal view 0Login:
echo Captcha::widget([
'id' => 'Login-captcha',
'name' => 'LoginModel[captcha]',
'captchaAction' => '/site/captcha-login'
]);
LoginModel:
public function rules()
{
return [
['captcha', 'captcha', 'captchaAction' => 'site/captcha-login',],
];
}
2) Registrieren
Register modal (Ansicht):
echo Captcha::widget([
'id' => 'register-captcha',
'name' => 'RegisterModel[captcha]',
'captchaAction' => '/site/captcha-register'
]);
RegisterModel:
public function rules()
{
return [
['captcha', 'captcha', 'captchaAction' => 'site/captcha-register',],
];
}
bis jetzt ist alles in Ordnung, aber wenn ich ich bewege Sitzungen von normalen PHP-Dateien in der Datenbank von unten config in commponent Abschnitt der Hauptkonfigurationsdatei:
'session' => [
'class' => 'yii\web\DbSession',
],
dann Captchas im ersten Laden der Seite nicht funktioniert und habe um sie zu aktualisieren, damit sie korrekt funktionieren. Was ist das Problem?