Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2018, 10:05   #1
Metrologik
Пользователь
 
Регистрация: 19.10.2014
Сообщений: 12
По умолчанию Помогите добавить в php код функционал ajax

Есть готовый скрипт на PHP . Как сделать передачу данных и подгрузку ответа на ajax?

Код:

<?php
header('Content-Type: text/html; charset=utf-8');
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

// Настройки

$arr_block=array(
'/sites/default/files/'=>1,
'files.js'=>1,
'Expires: Sun, 19 Nov 1978'=>2,
'components/'=>3,
'plugins/'=>4,
'template/'=>5
);

$arr_norm_name= array(
1=> 'files',
2=> 'expires',
3=> 'components',
4=> 'plugins',
5=> 'template'
);

// таймаут (сколько ждать ответа сайта)
$tm_out=10; // сек.

function pars_url($str){
	$str=str_ireplace('https://','',$str);
	$str=str_ireplace('http://','',$str);
	$arr=array();
	$arr=explode("\n",$str);
	$arr=array_unique($arr);
	return $arr;
	}
function simple_curl($url){
	global $tm_out;
	$curl = curl_init();
	curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
	curl_setopt($curl, CURLOPT_HEADER, 1); // читать заголовок
	curl_setopt($curl, CURLOPT_AUTOREFERER,true);
	curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
	curl_setopt($curl, CURLOPT_MAXREDIRS, 3);
	curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $tm_out); 
	curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
	curl_setopt($curl, CURLOPT_COOKIEJAR, "cookie.txt");
	curl_setopt($curl, CURLOPT_COOKIEFILE, "cookie.txt");
	curl_setopt($curl, CURLOPT_USERAGENT, "Opera/10.00 (Windows NT 5.1; U; ru) Presto/2.2.0");
	curl_setopt($curl, CURLOPT_URL, $url);
	$x=array();
  $x['content'] = curl_exec( $curl );
  $x['error']   = curl_errno( $curl );
  $x['errormsg']  = curl_error( $curl );
  $x['header']  = curl_getinfo( $curl );

	return $x;
}	

function rrr($str) {
	global $arr_block,$arr_norm_name;
	$arr=array(0=>'Неизвестно',1=>'');
	foreach ($arr_block as $a=>$b){
	$pos = stripos($str, $a);
	if ($pos===false)
	{
		}else {
		$arr[1]=$arr_norm_name[$b];
		$arr[0]=$a;
		return $arr;
		}
		}
	return $arr;
	}
// основной код
	
$f=array();
if (isset($_POST['url']) && ($_POST['url'] != '' )){
	$arr=pars_url($_POST['url']);
	echo '<center>';
	foreach ($arr as $a=>$b){
	$content = simple_curl('https://'.trim($b));
	$f=rrr($content['content']);
	echo  'Цмс: <b>' . $f[0].'</b>';
	echo ' ('.$f[1].') ';
	echo  ' Сайт: <b>'. $b.'</b><br>'."\n";
	}
echo '</center>';	
} else {
echo $frm=' 
<html>
    <head>
        <title>Проверка </title>
    </head>
    <body>
        <h1>Введите урл (без http:// и https:// )</h1>
        <form action="index.php" method="post">
            <textarea rows="10" cols="45" name="url"></textarea><br>
            <input type="submit" value="Go">
        </form>
        
</body>
</html>';
}
То есть в текстареа вводятся домены, а в ответ при перезагрузке поступают данные - найдены ли значения на тех сайтах или нет. Как сделать все это дело без перезагрузки страницы? Через Ajax. И чтобы бралось из вводимого списка поочередно каждый домен и обрабатывался и выдавался ответ, затем следующий и ответ подгружался на каждый домен вслед друг за другом?
Metrologik вне форума Ответить с цитированием
Старый 14.07.2018, 10:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

нужно сделать две вещи:
1) написать в HTML код JS код для вызова AJAX и вывода полученных данных в textarea
2) сделать отдельный обработчик (PHP), который возвращает нужные данные

всё.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите добавить в код относительную ссылку на папку с файлами evgenw Microsoft Office Excel 12 28.10.2017 23:10
Ищу PHP программиста доработать функционал CMS myjobs Фриланс 0 14.08.2015 05:25
Помогите создать блог php, ajax Lyudada Помощь студентам 6 22.08.2014 14:02
Как добавить содержание в ajax окно? Diablow JavaScript, Ajax 0 01.04.2011 09:21