Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   функция Load и GET (https://javascript.ru/forum/events/59083-funkciya-load-i-get.html)

Miheeva 27.10.2015 15:44

Сейчас стоит - при клике на div c id = box отображает (грузится) файл one.php

Как сделать, чтобы при открытий страницы (после загрузки страницы $(window).load ) запустился через 5 сек. div c id = box

laimas 27.10.2015 15:48

Таймер установить, и если добавлять сам контейнер принимающий запрос, то:

$(function() {
    var tm = setTimeout(function() {
        $('#box').appendTo('body или иной селектор куда этот блок нужно вставить').load('url запроса');
        clearTimeout(tm)
    }, 5000);
});

Miheeva 27.10.2015 15:51

Цитата:

Сообщение от laimas (Сообщение 393231)
Таймер установить, и если добавлять сам контейнер принимающий запрос, то:

$(function() {
    var tm = setTimeout(function() {
        $('#box').appendTo('body или иной селектор куда этот блок нужно вставить').load('url запроса');
        clearTimeout(tm)
    }, 5000);
});

Это понятно) а как его вставить вот сюда?

$(window).load(function() {
   var o = $('#box') //в переменной "o" кешируем объект #box, так как мы к нему будет не раз обращаться 
        .click(function() { //устнавливем обработку щелчка по объекту #box 
        var p = o.data('p'); //получаем значение переключателя "p" и изменяем его бит - 0 будет меняться на 1, и наоборот - 1 меняться на 0
        var csstop = "<?php echo $project;?>"; //это ваше не понятно почему здесь взялось, и что есть "плохо"
        o.data({p: p}); //запоминаем изменение бита "p"
        //запрашиваем сервер и, если, "p" равно 1, то подставляем в запрос get-параметр, иначе запрос будет без него
        //то есть get-параметр будет передаваться на сервере черз один раз
        o.load('/inc/info/one.php' + (p ? '?name='+ csstop +'' : ''))
    })
    .data({p: 1}) //определим бит переключателя определяющего передачу get-параметра, который будет храниться в объекте #box

});

laimas 27.10.2015 16:07

Цитата:

Сообщение от Miheeva
а как его вставить вот сюда?


Сюда никак, вернее смысла нет, это должно выполняться по таймеру, то есть, зачем вам щелкать по '#box' (да и не возможно, ибо вы хотите его добавлять в документ), так как надо по истечении времени сделать запрос. При этом один раз есть параметр, а другой раз нет, этого я просто не понимаю, к чему вы притулили это в код.... Остается, что параметр запроса должен быть всегда и и фиксированный, ибо <?php echo $project;?> - уже на клиенте никак изменяться не будет. А значит o.load('/inc/info/one.php?name=<?php echo $project;?>')

$(function() {
    var tm = setTimeout(function() {
        $('#box').appendTo('body или иной селектор куда этот блок нужно вставить').load('/inc/info/one.php?name=<?=$project?>');
        clearTimeout(tm)
    }, 5000);
});


Если inc/info - это закрытая папка, то не получится, если ради этого запроса вы ее открываете, то это очень плохо.

<?=$project?> - в случае, если разрешен короткий php-тег. В последних версиях РНР такая конструкция доступна всегда и не зависит от разрешения короткого тега.

Miheeva 27.10.2015 16:15

а чем это плохо? Если речь идет о уязвимости one.php. То можно сделать таким образом - Сделать проверку, есть ли значение $_GET (название) в базе или нет), если нету то die() :)

laimas 27.10.2015 16:17

Цитата:

Сообщение от Miheeva
Сделать проверку, есть ли значение $_GET (название) в базе или нет), если нету то die()

Вы думаете, что я не в состоянии сделать на ваш сервер левый запрос с GET-параметром? :)

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

Miheeva 27.10.2015 16:20

Цитата:

Сообщение от laimas (Сообщение 393245)
Вы думаете, что я не в состоянии сделать на ваш сервер левый запрос с GET-параметром? :)

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

Как вы предлагаете лучше всего мне сделать? :)

laimas 27.10.2015 16:22

Я вам уже сказал - клиент должен обращать не к скриптам закрытого каталога, а к скриптам имеющим к нему доступ. Как закрыть каталог средствами .htaccess думаю вы в курсе.

Miheeva 27.10.2015 16:27

Можете пример привести? .(хотела бы сравнить свои мысли с вашей)

laimas 27.10.2015 16:30

Чего, что должно быть в .htaccess?

Deny from all

Сравнивайте, но это не мои мысли, это "мысли" авторов этой разработки :)


Часовой пояс GMT +3, время: 10:25.