За последние 24 часа нас посетили 34939 программистов и 1755 роботов. Сейчас ищут 902 программиста ...

Как запустить php функцию после загрузки страницы?

Тема в разделе "PHP для новичков", создана пользователем php4, 4 сен 2016.

  1. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    Как запустить php скрипт, только после того как страница сайта загрузится полностью? Т.е. отложить запуск функции на 10 секунд примерно.
     
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Как страница загрузилась, можно сделать ajax запрос к скрипту ну или iframe в конце странцы натравить на скрипт
     
  4. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    @denis01, @romach, А можно небольшой пример(страница загружена => запуск func.php) ?
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  6. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    @denis01, нерабочая ссылка. ошибку выводит
     
  7. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    ни как, РНР формирует html разметку и выводит ее в браузер и все.
    --- Добавлено ---
    только посторонними средствами, например AJAX.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    PHP:
    1. <?php
    2.  
    3. if (
    4.     isset($_POST) &&
    5.     count($_POST)>0 &&
    6.     empty($_POST['ip']) == false &&
    7.     empty($_POST['port']) == false
    8.     )
    9. {
    10.     echo $_POST['ip'].":".$_POST['port'];
    11.     sleep(3);
    12.     exit;
    13. }
    14.  
    15. ?><!DOCTYPE HTML>
    16. <html>
    17. <head>
    18.     <meta charset="UTF-8">
    19.     <title></title>
    20.     <script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
    21.     <script type="text/javascript">
    22.         $( document ).ready(function() {
    23.  
    24.             disen = function(s){ // disable, enable
    25.                 $(s).prop('disabled', function(i, v) { return !v; });
    26.                 console.log('disable/enable button');
    27.             };
    28.  
    29.             $( "#b1" ).on( "click", function() {
    30.  
    31.         console.log('button click');
    32.                 disen(this);
    33.  
    34.                 $.ajax({
    35.                     url: "index.php",
    36.                     method: "POST",
    37.                     data: { ip : "127.0.0.1", port : "80" },
    38.                     dataType: "html",
    39.                     success: function(data) {
    40.                         $('#info').html(data);
    41.                     },
    42.                     error: function(jqXHR, textStatus, errorThrown) {
    43.                         $('#info').html(textStatus + ", " + errorThrown);
    44.                     },
    45.                     complete: function() {
    46.                         disen("#b1");
    47.                     },
    48.                 });
    49.             });
    50.         });
    51.     </script>
    52. </head>
    53. <body>
    54.  
    55. <span id="info"></span><br>
    56.  
    57. <input type="button" id="b1" value="test">
    58.  
    59. </body>
    60. </html>
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    @php4, вопрос странный.

    что такое веб-страница вообще? это html-документ со множеством "внедрённых" в него дополнительных ресурсов: картинок, стилевых файлов, скриптов. если ты в Хроме вызовешь инспектор по F12 и там вкладочку Network, ты можешь убедиться как много запросов происходит чтобы отобразить типичную страницу.
    на любой из этих запросов ты можешь подключить свой серверный скрипт! он будет вызван после того, как браузер получит тело страницы.

    если отвечать буквально: "как выполнить php после того как страница полностью загрузится":
    используй какой-нибудь JS-обработчик on document ready на клиентской стороне чтобы создать ещё один запрос к серверу. т.к. только клиентская сторона может отследить событие клиентской стороны.
    — К.О.