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 10:40

функция Load и GET
 
Здравствуйте, не могу никак разобрать, как передать имеющий GET в php..

Имеется код который загужает one.php в него. Но при этом ему надо отправить имеющий GET параметр в One.php и уже загрузить обратно(обработанный). Как это можно реализовать?

$project = preg_replace("/[^a-zа-я0-9-.]+/is","",$_GET["name"]);

<div id="cc"><img id="loader" src="/images/ajax-loader.gif" alt="Loading, Loading!"></img></div>

<script type="text/javascript">
$(window).load(function() {
  setTimeout(function(){
 
      $('#loader').hide();
    $('#cc').load('/inc/info/one.php');
   }, 1000);
 });
 
</script>


к примеру 1.php :

$projectx = "http://".$project."";
        echo $projectx;

laimas 27.10.2015 10:46

Запрос не содержит GET-параметров. Определяйте его, обрабатывайте на сервере и возвращайте. Или в чем проблема?

Miheeva 27.10.2015 10:57

не могли бы показать? Была бы благодарна =)

laimas 27.10.2015 11:03

А что тут показывать:

$('#cc').load('/inc/info/one.php?name=xxxxxx');

Куда интереснее как он попадает в url, но это должно быть виднее вам. :)

PS. Если затруднения именно в этом, то методу .get() можно задавать передаваемые серверу параметры в опции.

Miheeva 27.10.2015 11:10

Цитата:

Сообщение от laimas (Сообщение 393176)
А что тут показывать:

$('#cc').load('/inc/info/one.php?name=xxxxxx');

Куда интереснее как он попадает в url, но это должно быть виднее вам. :)

ха), мне надо чтобы он открывал файл one.php а не добавлял к нему ?name=xxxxxx

laimas 27.10.2015 11:13

Цитата:

Сообщение от Miheeva
мне надо чтобы он открывал файл one.php

Ну так какие проблемы, откроет, вернее клиент получит содержимое (ответ) этого файла и без всяких параметров в запросе. Но тогда что это за загадка: не могу никак разобрать, как передать имеющий GET в php? Не передавая параметров в запросе, откуда же их получить на сервере?

Miheeva 27.10.2015 11:20

Цитата:

Сообщение от laimas (Сообщение 393178)
Ну так какие проблемы, откроет, вернее клиент получит содержимое (ответ) этого файла и без всяких параметров в запросе. Но тогда что это за загадка: не могу никак разобрать, как передать имеющий GET в php? Не передавая параметров в запросе, откуда же их получить на сервере?

Там где прописан js, в самом верху есть

$project = preg_replace("/[^a-zа-я0-9-.]+/is","",$_GET["name"]);


мне надо чтобы он отправлял чему равен $project в файл one.php и возвращял уже обработанный с ним.

laimas 27.10.2015 11:29

Какое отношение php-код:

$project = preg_replace("/[^a-zа-я0-9-.]+/is","",$_GET["name"]);

имеет к JS?

Вы показываете код, который запрашивает файл one.php без параметров, а значит, если php-строка, что выше, принадлежит этому файлу, то ничего она не будет делать, ну кроме как будут выдано предупреждение о неопределенной переменной, если вывод предупреждений включен.

Если этот файл до ajax-запроса запрашивался клиентом из другой страницы и с параметром "name", и это означает обработать и вернуть, то в этом случае эту обработанную переменную нужно хранить на сервере для ajax-запроса.

А вам чего надо?

Miheeva 27.10.2015 11:33

у меня получается так что клиент переходит /info/lalala где lalala и есть GET.
Как мне тогда чтобы он передавал get в тот файл?

laimas 27.10.2015 11:40

Миледи, давайте так:

1) Есть страница one.php, на которой обрабатывается GET-параметр "name". Эта страница может запрашиваться с любой страницы (кроме ajax-запроса), и если да, то GET-параметр "name" приходит с некой "ХХ" страницы? Каково назначение этой страницы?

2) Есть некая страница "Х" содержащая ajax-запрос без GET-параметров. Каково назначение этой страницы?

3) Что в итоге должны "родить" совместные усилия страниц one.php и Х?

Miheeva 27.10.2015 11:48

Цитата:

Сообщение от laimas (Сообщение 393185)
Миледи, давайте так:

1) Есть страница one.php, на которой обрабатывается GET-параметр "name". Эта страница может запрашиваться с любой страницы (кроме ajax-запроса), и если да, то GET-параметр "name" приходит с некой "ХХ" страницы? Каково назначение этой страницы?

2) Есть некая страница "Х" содержащая ajax-запрос без GET-параметров. Каково назначение этой страницы?

3) Что в итоге должны "родить" совместные усилия страниц one.php и Х?

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

laimas 27.10.2015 11:56

Цитата:

Сообщение от Miheeva
страницы one.php такой нету

Загадочная адронно-коллайдерная логика женщины. :D

Во-первых - если файл закрыт для прямого доступа, то не сможет никакой ajax-запрос достучаться до него, возврат будет 404. Этот файл будет доступен только владельцу - php-сценарию выполняющемуся от имени владельца.

Во-вторых вы не ответили на вопросы - откуда берется на этой странице GET["name"] если ajax-запрос не передает такого параметра?

Абстрагируйтесь от кода серверного и клиентского, просто описать словами задачу выполняющую этими скриптами можете?

Miheeva 27.10.2015 12:02

давате я напишу что я хотела в начале сделать.

Я хотела сделать чтобы данный php код загружался после полной загрузки страницы.

Вот сам пхп код (хотела впихнуть в one.php).

<?
	
	$projectx = "http://".$project."";
		
		function isSiteAvailable($projectx)
{
    // проверка на валидность представленного url
    if(!filter_var($projectx, FILTER_VALIDATE_URL)) {
      return 'error';
    }
 
    // создаём curl подключение
    $cl = curl_init($projectx);
    curl_setopt($cl,CURLOPT_CONNECTTIMEOUT,10);
    curl_setopt($cl,CURLOPT_HEADER,true);
    curl_setopt($cl,CURLOPT_NOBODY,true);
    curl_setopt($cl,CURLOPT_RETURNTRANSFER,true);

    // получаем ответ
    $response = curl_exec($cl);

    curl_close($cl);
$project = preg_replace("/[^a-zа-я0-9-.]+/is","",$_GET["name"]);
    if ($response){ return '<img style="vertical-align:-5px;" src="/images/online.png"></img> <font color="#0dd82e">Работает</font>';
}else{
if(file_exists('../../images/screens/'.$project.'.png'))
 unlink('../../images/screens/'.$project.'.png');
 
$r=mysql_query("update `ca` set `type`='0' where `link`='".$project."'");
    return '<img style="vertical-align:-5px;" src="/images/offline.png"></img> <font color="red">Не работает</font>';
}}
 if(isset($projectx)){
   $response = isSiteAvailable($projectx);
   $message = ''.$response.'';
}
if (isset($message)) echo $message;
 
	?>


Может я не том путём пошла? Как тогда такое чудо сделать?

laimas 27.10.2015 13:57

Этот код не поясняет откуда берется злополучный $_GET["name"], а тем более того, что вообще вы хотите сделать. Ну есть cURL запрос к ресурсу, это понятно, но как это связано с $_GET["name"] и с остальным, загадка.

У вас есть локальный сервер для отладки? Загрузите в него два скрипта:

a.php

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    var o = $('#box').click(function() {
        var p = o.data('p') ^ 1; //инвертируем значение переключателя
        o.data({p: p});
        //в зависимости от значения переключателя будет передавать или нет get-параметр в запросе 
        o.load('b.php' + (p ? '?name=var_name' : ''))
    }).data({p: 1}) //определим переключатель
});
</script>
<div id="box" style="padding:20px;border:1px solid #444;"></div>


b.php

<?php
//если запрос содержит get-параметр, то возвращаем его, иначе сообщаем, что его не было
exit($_GET['name'] ?: 'Not name')
?>


Запустите файл a.php и щелкайте по DIV, можете следить за запросом и в отладчике. Как видите сервер будет возвращать $_GET['name'] или же сообщать что его не было с каждым щелчком по DIV. То есть, даже если бы вместо $_GET['name'] ?: 'Not name' был наворочен невероятный по сложности код обработки $_GET['name'], он бы ничего не делал, если такового параметра нет. Вот тоже самое и у вас в коде содержащем ajax-запрос - вы ожидаете "манны небесной" совсем не имея на то оснований, ибо никакого параметра 'name' в запросе к серверу по этому URL у вас нет. Это понятно?

Теперь пусть у нас будет еще третий игрок - файл c.php, который до файла a.php делает запрос также к странице b.php, но с передачей этого параметра - 'name'. Мы знаем, что значение этого параметра хочет получить и файл a.php, поэтому запомним его в сессии. Теперь код скрипта a.php будет таким:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $('#box').load('b.php')
});
</script>
<div id="box"></div>


то есть просто подгружаем страницу b.php, код которой теперь будет таким:

<?php
session_start();
if(!$_SESSION['mem']) $_SESSION['mem'] = $_GET['name'];
exit($_SESSION['mem'])
?>


которая перед тем как будет запрошена страницей a.php сперва должна быть запрошена старницей c.php с таким кодом:

<a href="b.php?name=send_name">Send name</a>


Теперь загрузив эти три файла вызовите сначала файл c.php и перейдите в нем по ссылке. Это передаст в url get-параметр. В файле b.php значение этого параметра будет запомнено в сессии. После этого запросите файл a.php. Теперь этот файл получит запомненный get-параметр переданный ранее другим сценарием.

Иначе никак, нельзя из ничего получить что-то, ну это же элементарно, Ватсон. :)

А вот что вы пытаетесь сделать, я так и не понял.

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

Miheeva 27.10.2015 14:20

а как вставить вместо var_name имеющее значение GET?

laimas 27.10.2015 14:34

Цитата:

Сообщение от Miheeva
а как вставить вместо var_name имеющее значение GET?

Вы сперва поясните откуда оно берется у вас? Я ведь всего лишь показал пример, а что у вас я не в курсе.

Например, чтобы у вас в файле представленном выше, был обработан этот запрос

$project = preg_replace("/[^a-zа-я0-9-.]+/is","",$_GET["name"]);

то некто должен обратиться к этому файлу с этим запросом. Так ли у вас это работает я и пытался выяснить, но увы, пояснений нет. )

А это может быть просто параметр в ссылке тега А, а это может быть и поле ввода формы с именем "name", кторая передается методом GET на страницу, и т.п...

Механизм я показал, что собственно можно было и не делать, ибо все просто. Поясните в конце концов просто словами - есть страница А, на которой нужно получить то-то и то-то, причем она может получать некий параметр "name" (от кого?), Есть страница Б, которая может также обращаться к этой странице, если был параметр "name", то получить его.

То есть типа такого, что собственно я и описывал. Может быть поясняя на словах и ответ "самой себе" будет сразу из этого и получен? :)

Miheeva 27.10.2015 14:46

Ну вроде получилось передать гет.

вот готовый

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


Не могли бы пожалуйста чтобы не по клику открывалось, а как я писала в виде

$(window).load(function() {
var a = "<?php echo $project; ?>";
  setTimeout(function(){
 
	  $('#loader').hide();
    $('#cc').load('/inc/info/one.php');
   }, 1000);
 });

laimas 27.10.2015 15:06

:D

И зачем вы берет код, который я написал ради пояснения "есть/нет параметра запроса" берет себе как рабочий? Поясняю детально его:

var o = $('#box') //в переменной "o" кешируем объект #box, так как мы к нему будет не раз обращаться 
        .click(function() { //устнавливем обработку щелчка по объекту #box 
        var p = o.data('p') ^ 1; //получаем значение переключателя "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


То есть этот код работает как триггер - есть на выходе сигнал, нет на выходе сигнала. А оно вам надо?

Суть ведь не в том чтобы впихнуть ваш $project в JS код, а в том как он завязан на логике работы вашего скрипта, что от него зависит. А что у вас теперь получилось?

Ваш серверный код так же обилует множеством ненужных промежуточных переменных. А ведь все проще:

<?php
$projectx = "http://".$project;
         
function isSiteAvailable($projectx) {
    // проверка на валидность представленного url
    if(!filter_var($projectx, FILTER_VALIDATE_URL)) return 'error';
  
    // создаём curl подключение
    $cl = curl_init($projectx);
    curl_setopt($cl,CURLOPT_CONNECTTIMEOUT,10);
    curl_setopt($cl,CURLOPT_HEADER,true);
    curl_setopt($cl,CURLOPT_NOBODY,true);
    curl_setopt($cl,CURLOPT_RETURNTRANSFER,true);
 
    // получаем ответ
    $response = curl_exec($cl);
 
    curl_close($cl);
    
    $project = preg_replace("/[^a-zа-я0-9-.]+/is","",$_GET["name"]);
    
    if ($response) return '<img style="vertical-align:-5px;" src="/images/online.png"></img> <font color="#0dd82e">Работает</font>';
    
    else  {
        if(file_exists('../../images/screens/'.$project.'.png')) unlink('../../images/screens/'.$project.'.png');
  
        mysql_query("update `ca` set `type`='0' where `link`='".$project."'");
        
        return '<img style="vertical-align:-5px;" src="/images/offline.png"></img> <font color="red">Не работает</font>';
    }
} 

if(isset($projectx)) echo isSiteAvailable($projectx);
?>


И теперь у вас этот код будут работать через раз по разному сценарию, так как используя мой пример $_GET["name"] будет через раз, и обновление:

mysql_query("update `ca` set `type`='0' where `link`='".$project."'");

просто бессмысленное. А ведь должна же быть некая логика. А ее нет сейчас вообще.

Miheeva 27.10.2015 15:14

суть я поняла) а как сделать чтобы выводилось оно само к примеру через 5 сек после полной загрузки страницы?

laimas 27.10.2015 15:38

Цитата:

Сообщение от Miheeva
а как сделать чтобы выводилось оно само

Что "оно"?

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

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

Miheeva 27.10.2015 16:32

Спасибо большое) Держите плюсик :)

Miheeva 27.10.2015 16:35

у вас скайп есть?

laimas 27.10.2015 16:35

Есть, а что?

Miheeva 27.10.2015 16:38

Цитата:

Сообщение от laimas (Сообщение 393253)
Есть, а что?

хотела бы списатся в скайпе (быстрее), проблемка с .htaccess :lol:

laimas 27.10.2015 16:45

Без обид, но я не даю консультаций по Скайп.
Скайп я даю заказчикам, ибо с ними приходится общаться по делу, и у меня есть заказы, которые нужно выполнять. А есть время свободное или отдохнуть охота, тогда можно и на форуме "лясы поточить" :)

Если проблемы серьезные, то по ссылке на форум именно по проблемам .htaccess. Ибо это можно долго рассказывать, но если не могут еще и пояснить проблемы (как это было с $_GET['name'], что до сих пор загадка), то разговор превратиться в вечность, а на нее у меня точно нет времени. )

Miheeva 27.10.2015 16:52

ну я добавила .htaccess deny from all

теперь не грузится one.php (что и следовало ожидать). Можно ведь как разрешить?

laimas 27.10.2015 17:14

И вы хотите чтобы я еще и Скайп "заморил" :lol:

Ну правильно, для этого и закрывается каталог, чтобы никто не могу получить к нему прямой доступ.

Еще раз повторяю - клиент уже не может обратиться к этому файлу напрямую, для этого он должен обращаться к скрипту, имеющему доступ к закрытому каталогу.

Например, ваш индексный файл прежде чем делать запросы к базе, должен сперва подключиться к ней. А параметры подключения к ней как раз и "прячут" в закрытый каталог, где также могут храниться и подключаемые функции или файлы ядра системы. Например, в индексном файле будет нечто типа такого:

//подключение скрипта из закрытого каталога
include_once '/inc/connect.php'; //параметры подключения к базе
//далее можно выполнять запросы к базе


Знакомо такое?

Подобным образом можно подключить и файл-скрипта one.php в индексном файле, но по условию, и в самом начале его, и если подключаемый файл производит и выход из выполнения, то достаточно только подключить его:

//параметры подключения к базе так как срипт подключаемый по условию работает с ней
include_once '/inc/connect.php'; //параметры подключения к базе
//подключение скрипта по условию
if(isset($_GET['name'])) include '/inc/nfo/one.php';
//далее остальной код индексного файла


а файл one.php должен производить и выход, то есть последняя строка в нем (если учесть ее так, как я правил)

if(isset($projectx)) echo isSiteAvailable($projectx);

должна быть такой

if(isset($projectx)) exit(isSiteAvailable($projectx));


А Ajax запрос с клиента производить к индексному файлу:

....load('index.php?name=<?=$project?>');

Но может быть и не стоит прятать one.php в закрытый каталог, с чего такая надобность возникла я не знаю.
Аналогично можно обращаться к любому не закрытому по прямой ссылке файлу и подключать в нем необходимое из закрытого каталога.

PS. Действие .htaccess распространяется на все файлы в нем, а также на файлы вложенных в него каталогов. То есть, если .htaccess установлен на каталог inc (что разумно), то и файлы его каталога info также будут недоступны по прямой ссылке.

Miheeva 27.10.2015 17:22

Поняла) спасибо.

laimas 27.10.2015 18:19

Можно из этого когда сделать, чтобы сперва обработался файл /mon1.php а потом только выводилось из него?

В каком смысле? mon1.php будет обрабатываться на сервере, клиент только получает ответ от него.

а то получается, что сайт загрузился потом идет Loader, пропадает и только тогда грузится /mon1.php

Ту так запрос к серверу и должен производиться после того, как страница будет загружена, то есть готов DOM.

$('#loader1').hide(); никак не влияет на $('#mon1').appendTo... оба эти действия будут выполняться асинхронно, и выполнение их начнется почти одновременно.

Чего вы хотите?

Miheeva 27.10.2015 18:25

ну смотрите, задача сложная. :) делала по такому-же принципу.

Код в Mon1.php


<?

	
	include_once '../config.php';
$project = preg_replace("/[^a-zа-я0-9-.]+/is","",$_GET["name"]);
$str = substr($project, 0, strlen($project)-4); 

$headers_array = array();
$headers_array = get_headers("http://monhyip.net/monitor/".$str);//отсылаем запрос
$request = $headers_array[0];//выбираем главный ответ сервера
if ($request == 'HTTP/1.1 404 Not Found')
    { }else{?><a target="_blank" href="http://monhyip.net/hyip/<?=$str?>"><img src="/images/monitors/monhyip.png"></a>
<?}

$page = file_get_contents ( "http://gsmonitor.org/?a=search&content=".$project."");
$count_words = preg_match_all ( '/Currently there are no items founded!/i', $page, $matches );
if ($matches[0]){}else{?><a target="_blank" href="http://gsmonitor.org/?a=search&content=<?=$project?>"><img src="/images/monitors/gsmonitor.gif"></a><?}

$page = file_get_contents ( "http://ihyips.com/?a=search&content=".$str."");
$count_words = preg_match_all ( '/Currently there are no items founded!/i', $page, $matches );
if ($matches[0]){}else{?>&nbsp;<a target="_blank" href="http://ihyips.com/?a=search&content=<?=$str?>"><img src="/images/monitors/ihyips.png"></a><?}

$page = file_get_contents ( "http://uhyips.com/search?q=".$project."");
$count_words = preg_match_all ( '/No results were found./i', $page, $matches );
if ($matches[0]){}else{?>&nbsp;<a target="_blank" href="http://uhyips.com/search?q=<?=$project?>"><img src="/images/monitors/uhyips.png"></a><?}

$page = file_get_contents ( "http://mega-hyip.ru/?a=search&content=".$str."");
$count_words = preg_match_all ( '/Currently there are no items founded!/i', $page, $matches );
if ($matches[0]){}else{?>&nbsp;<a target="_blank" href="http://mega-hyip.ru/?a=search&content=<?=$str?>"><img src="/images/monitors/mega-hyip.png"></a><?}

$page = file_get_contents ( "http://investoday-monitor.ru/?a=search&content=".$str."");
$count_words = preg_match_all ( '/Ничего не найдено!/i', $page, $matches );
if ($matches[0]){}else{?>&nbsp;<a target="_blank" href="http://investoday-monitor.ru/?a=search&content=<?=$str?>"><img src="/images/monitors/investoday-monitor.png"></a><?}


?>


Как заметили имеется там file_get_contents. Фишка в том что сперва загружается страница полностью ($(window).load(function() ) потом появляется loader1, потом он исчезает и только тогда загружается file_get_contents... :( Можно ведь как то сделать, чтобы когда шла загрузка loader1 обрабатывался mon1.php, и после исчезновения loader1 сразу появлялся результат?


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