PHP: проблема с капчей - PullRequest
0 голосов
/ 21 июля 2009

У меня есть форма регистрации пользователя в PHP. Я вставил проверку капчи на страницу. Я использовал ее вот так

// img id = "imgCaptcha" src = "create_image.php" //

и в моем javascript я хочу проверить это с тем же номером, который генерируется в изображении (со страницы create_image.php). Это число было также установлено в переменной сеанса. но когда я получаю номер из SESSION, в этот раз я получаю предыдущее сгенерированное число. Но когда я размещаю эту страницу, я получаю правильный номер, сгенерированный create_image.php из SESSION.

Итак, как я могу получить недавно сгенерированный номер, не публикуя эту страницу на СЕССИИ?

1 Ответ

1 голос
/ 21 июля 2009

Проблема в том, что php-страница с изображением загружается после отправки кода клиенту, поэтому при попытке вывести число из сеанса вы получите описанный вами результат.

На мой взгляд, существуют древовидные решения:

  • Вместо этого сгенерируйте код в форме для формы и позвольте сценарию create_image.php просто вывести его.
  • Использовать ajax: вы можете использовать ajax, чтобы получить номер из сеанса после вызова create_image.php.
  • Использовать существующий сервис капчи, например http://recaptcha.net/
...