Возможно, этот вопрос уже задавался, но, к сожалению, я не смог найти удовлетворительных ответов. Я просто попрошу его для моего конкретного случая и попросить администраторов не удалять вопрос в течение как минимум нескольких дней, чтобы я мог его опробовать ...
У меня есть страница. Он использует капчу. Вот так:
<?php
session_start(); // the captcha saves the md5 into the session
?>
<img src="captcha.php" onclick="this.src = this.src" />
Это был мой первый код. Это не сработало, потому что браузер посчитал его бесполезным для перезагрузки изображения, если источник тот же. Мое текущее решение состоит в том, чтобы передать параметр get:
onclick="this.src = 'captcha.php?randomNumber='+ranNum"
Переменная JavaScript var ranNum
генерируется случайным образом каждый раз, когда происходит событие onclick
. Это работает нормально, однако, мне не нравится возможность, если - хотя это невероятно - случай, когда два числа одинаковы дважды подряд. Хотя случайное число варьируется от -50 000 до 50 000 - мне все равно это не нравится. И я не думаю, что метод правильный. Я хотел бы узнать «правильный метод» с помощью AJAX. Я знаю, что это возможно. Я надеюсь, вы знаете, как это возможно ^^ В таком случае, пожалуйста, покажите мне.
Заранее спасибо!
Кстати, если я пишу cap (t) cha по-другому, не говоря уже о том, что ссылка на файл PHP в моем коде верна: я использую randomImage.php
РЕДАКТИРОВАТЬ: случайное число в JavaScript генерируется только для перезагрузки изображения. Captcha.php не заботится о параметре $ _GET. Строка действительно случайная.
РЕДАКТИРОВАТЬ: Таким образом, я хотел бы знать, как сделать так, чтобы браузер повторно отображал изображение, не передавая различные параметры get каждый раз, когда происходит событие.