И зачем вы берет код, который я написал ради пояснения "есть/нет параметра запроса" берет себе как рабочий? Поясняю детально его:
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."'");
просто бессмысленное. А ведь должна же быть некая логика. А ее нет сейчас вообще.