Closed Ineigo closed 9 years ago
Попробуй почитать здесь https://github.com/yiisoft/yii2/issues/1456
@ismorodin тут не связано с ajax валидацией.
Тут при clientValidateAttribute =false
всё успешно проходит, а как только при clientValidateAttribute=true
(как по умолчанию в basic приложении для contact формы) уже не работает.
@Ineigo а какие-нибудь ошибки есть в debug браузера?
В том и дело, что ни ошибок, ни запросов, ни чего... Запрос выполняется только при нажатии на картинку(смена кода капчи) @ismorodin Спасибо но я не дружу с английским, завтра попробую перевести)
Запрос не должен отправляться.
Каптча хранится в виде hash числа(как сумма кодов каждого символа), это число получает на стороне сервера и передаётся в html. При вводе каптчи, в браузере с помощью js ( charCodeAt) получается число - сумма юникодов каждого символа, которые вы ввели. Эта сумма сравнивается с hash и если это утверждение неверно, то вы получаете ошибку, что капчта введена неверно.
Поэтому очень странно, что у вас всегда hash не равен верной каптче.
Попробовал на работе тоже сделать, у меня капча прошла валидацию... Немного пошалив со средой запуска(сервер локальный) свелся к выводу: "Если запускать yii 2 приложение из консоли командой php -S localhost:8888, то капча не проходит валидацию. Если пошаманить с Denwer настройками apache2 на нужную папку, то капча проходит валидацию." Может кто сможет мне подсказать почему так происходит..? П.С.: Просто удобно запускать (php -S localhost:8888) из папки yii2, когда только изучаешь.
Что значит ?
Если пошаманить с Denwer настройками apache2 на нужную папку, то капча проходит валидацию
Ну просто добавить виртуальный хост на папку web. Такой вывод, получается(php -S localhost): C:\WebServers\home\yii2-tutorial\yii2-app-advanced\frontend\web>php -S localhost :8888 PHP 5.6.10 Development Server started at Mon Jul 06 10:08:52 2015 Listening on http://localhost:8888 Document root is C:\WebServers\home\yii2-tutorial\yii2-app-advanced\frontend\web
Press Ctrl-C to quit.
[Mon Jul 06 10:09:10 2015] PHP Fatal error: Uncaught exception 'yii\base\ErrorE xception' with message 'Unknown: open(/tmp\sess_sl5rsigflr15ggukrqdbjt4k93, O_RD WR) failed: No such file or directory (2)' in Unknown:0 Stack trace:
.', 'Unknown', 0, Array)
thrown in Unknown on line 0
css
s
Ftoolbar&tag=559a29969d9c5
[Mon Jul 06 10:09:12 2015] PHP Fatal error: Uncaught exception 'yii\base\ErrorE xception' with message 'Unknown: open(/tmp\sess_sl5rsigflr15ggukrqdbjt4k93, O_RD WR) failed: No such file or directory (2)' in Unknown:0 Stack trace:
.', 'Unknown', 0, Array)
thrown in Unknown on line 0
css
n.js
s
m.js
s
Ftoolbar&tag=559a29988d47c
559a2998974a6 [Mon Jul 06 10:09:12 2015] PHP Fatal error: Uncaught exception 'yii\base\ErrorE xception' with message 'Unknown: open(/tmp\sess_sl5rsigflr15ggukrqdbjt4k93, O_RD WR) failed: No such file or directory (2)' in Unknown:0 Stack trace:
.', 'Unknown', 0, Array)
thrown in Unknown on line 0
[Mon Jul 06 10:14:32 2015] 127.0.0.1:62159 Invalid request (Unexpected EOF)
У меня проблем с запуском приложения через php -S localhost:8888
не возникает, и captcha отрабатывает нормально.
И судя по логу ошибки, у вас там что-то с настройками сессии в php.ini
...
А можешь прислать php.ini, я поковыряюсь посмотрю что не так.
Оо спасибо, замена php.ini исправила проблему. П.С.: обновлял php до 5.6 в Denwer'e от туда и пошла проблема Спасибки огромные, что не бросили в беде )))
Issue can be closed
На днях установил гит, композер, установил, по описанию в офф документации yii2 basic. Зашел в форму отправки сообщения и попытался отправить форму. Но валидация капчи не проходит, типо неверно ввел...
Совсем ни чего не менял.
Среда запуска: php 5.6, сервер запускал из папки web командой php -S localhost:8888, приложение запускал в трех браузерах: Хром, ИЕ, Мозила.
Подскажите с чем это может быть связано и как решить проблему?