повторно запустить php-код, который уже запущен при обновлении страницы

Возможно ли, что кнопка onclick вызывает событие, которое уже произошло?

Что это значит?

Я создал генератор капчи. Всякий раз, когда вы обновляете/запускаете страницу. Он создаст файл captchaimage.php в папке. Я хочу, чтобы это было при нажатии кнопки. Я хотел повторно запустить код, который может генерировать новый файл captchaimage.php (для обновления кода).

Код находится в теге php, кнопка файла.


person VoxVola    schedule 28.09.2018    source источник
comment
PHP работает на стороне сервера вашего приложения, в то время как нажатие кнопки является операцией на стороне клиента. Чтобы соединить их, вы можете использовать ajax, если вы не хотите покидать страницу, используя, например, своего рода токен, чтобы инициировать создание только в некоторых случаях. что ты уже испробовал?   -  person Andrea    schedule 28.09.2018
comment
Еще не пробовал это, так как я продолжаю пробовать другой аспект, но обнаружил, что это моя ошибка кодирования, и пытаюсь найти новые способы ее исправить.   -  person VoxVola    schedule 28.09.2018
comment
Еще лучшим решением является отделение функции php, которая генерирует изображение, в другом файле php. Поэтому, когда вы нажимаете кнопку, вы можете отправить запрос ajax на страницу php, которая генерирует изображение, и все готово.   -  person Andrea    schedule 28.09.2018
comment
Возможный дубликат Метод обновления файла PNG без обновления всего страница   -  person Bobby Axe    schedule 28.09.2018


Ответы (1)


Вы должны использовать Ajax, подробности см. в jQuery Ajax. http://api.jquery.com/jQuery.get/.

Ваш внешний код jQuery может быть таким:

$.get("http://domain/path/your.php", function(data) {
    // render the page with information received from "data" here
});

Ваш внутренний php-код может делать все, что вы хотите, и в конце "echo $json_result". $json_result может передавать любую информацию в функцию обратного вызова jQuery в конце шрифта, описанную выше.

person Qiao Li    schedule 28.09.2018