2016-12-31 9 views
0

Я создал страницу регистрации на своем веб-сайте, где пользователи вводят свои данные и нажимают кнопку, которая затем выполняет некоторые проверки слов, отправляет электронное письмо, вставляет эту информацию в базу данных MySQL и, наконец, заканчивается оператором die().Показать символ загрузки при запуске PHP-скрипта

Проблема только в том, что этот процесс может занять до 30 секунд в зависимости от скорости интернет-клиента. Это означает, что страница регистрации будет отображаться в течение длительного периода времени, что сделало бы менее технологичного пользователя (и даже очень технологичного пользователя!) Подумайте, что страница сломана, что приведет к закрытию веб-сайта и никогда не возвращайся!

Так что мне нужно решение, и я думаю, что самый простой способ сохранить пользователя на сайте - отобразить символ загрузки, чтобы сказать, что он работает и как долго остается. Несмотря на то, что на вкладке браузера есть URL-адрес загрузки, он медленно перемещается, и многие люди его вообще не видят.

В принципе, я прошу указать способ отображения символов загрузки во время запуска скрипта, а затем уйти, как только он достигнет инструкции die(). Я не возражаю против того, на каком языке он написан, но предпочел бы PHP.

Заранее спасибо

+0

вы должны понимать, что php: php эхо-контент на сервере -> ваш браузер загружает этот контент -> если контент загружен, ваш браузер видит это! в то время как время загрузки вашего браузера ждет и ничего не отображает или не может быть частью контента. вам нужно использовать js для php. – Eugen

ответ

1

Самый простой способ для достижения этой цели было бы использовать некоторые JavaScript, чтобы прикрепить прослушиватель событий к submit случае вашей формы, а затем отображать некоторые сообщения/загрузки значок/кое-что из этого события слушателя метод.

быстрого пример (но есть много-много других подходов):

... 
<form ... onsubmit="showLoadingMessage();" ...> 
... 

<script> 
function showLoadingMessage() { 
    var message = document.createElement('div'); 
    message.innerHTML = 'We are working. Please wait...'; 
    document.body.appendChild(message); 
} 
</script> 

Конечно, вы можете отобразить что-нибудь еще вместо этого простого текстового сообщения, и вы можете добавить или положение этого сообщения DIV где вы хотите.