Срочно. Нуждаюсь в совете относительно массива $_POST;

Статус
В этой теме нельзя размещать новые ответы.

klay

Новичок
Срочно. Нуждаюсь в совете относительно массива $_POST;

В админке сайта моей фирмы, есть 5 000 сайтов постоянно меняющихся как по наименованию, так и по кол-ву.
На этих сайтах есть ссылка на наш сайт.
Нужно проверить есть ли там ссылка на нас или уже/еще нет.
Эти сайты в админке сверстаны в таблицу.
Конечно, я понимаю, что они видимо, берутся из БД и вставляются в эту таблицу.
Но давайте упростим задачу, пусть они просто сверстаны на HTML`е в таблицу.
В каждое поле, в котором есть имя сайта, я добавил следующее:
<input type="checkbox" name="name3" value="имя_сайта" checked="checked" />
Всю таблицу сайтов я поместил во в такую форму:
PHP:
<form  method="POST" action="check.php">
<table>
…
Тут наши ячейки с сайтами в которых находятся INPUT`ы с одноименными VALUES.
Ну например – 
<tr>
<td width="70%">[url]http://yandex.ru[/url]</td>
<td width="15%"><input type="checkbox" name="name3" value="http://yandex.ru" checked="checked" /></td>
<td width="15%"> - </td>
</tr>
…
</table>
<input type="submit" name="submit1" value="SUBMIT" class="sbmt"  />
</form>
Далее. В файле check.php
Я пишу следуещее:
PHP:
<?php

	$counter = 0;
	$message = " ";
	
	foreach ($_POST as $key_post => $value_post){
		//Этот код корявый. Но работает.
		//Нужен для того, чтоб мы SUBMIT не обрабатывали
		if($value_post != "SUBMIT"){
			$message = $value_post;
			$url = file($value_post);
			
		}

		foreach ($url as $key => $value){
			if(preg_match_all($pattern, $value, $url_adr, PREG_SET_ORDER)){
				$url_arr[$key] = $url_adr;	
			}
			$counter++;
		}
		echo 'Hа сайте ' .$message. ' было найдено ' .$counter. ' вхождений <br /><br />';
		
	}	
	
?>
Так вот. Работает не правильно. Помогите советом. Как заставить его работать как нужно?
Если нужен ZIP с полными исходниками здесь:
http://www.klink.ru/download/arc.zip
 

tf

крылья рулят
Если нужен ZIP с полными исходниками здесь:
http://www.klink.ru/download/arc.zip
нет не надо

Так вот. Работает не правильно. Помогите советом. Как заставить его работать как нужно?
сказать что ты хочеш от этого кода

В админке сайта моей фирмы, есть 5 000 сайтов постоянно меняющихся как по наименованию, так и по кол-ву.
а у меня есть магазин с 15 тыс товаров, но мне нужно...

Эти сайты в админке сверстаны в таблицу
объясни нормально какие данные имеются, чего необходимо добится и как...

-~{}~ 29.10.06 17:41:

if($value_post != "SUBMIT"){
$message = $value_post;
$url = file($value_post);

}
посмотри лучше в это сторону
PHP:
<input type="checkbox" name="site[name3]">
 

klay

Новичок
Автор оригинала: tf
нет не надо


сказать что ты хочеш от этого кода


а у меня есть магазин с 15 тыс товаров, но мне нужно...


объясни нормально какие данные имеются, чего необходимо добится и как...
Домены разные, и кол-во их переменное.
Говоря короче: нужно проверить есть ли на этих сайтах ссылка на нас или нет.
Вот и все.
 

tf

крылья рулят
гы, чесно а нах..на ты тот код писал

если я тебя правильно понял у тебя три задачи
выбрать из базы необходимые url сайтов для проверки
взять контент по url-сайту(или из базы... неважно)
искать ссылки на тебя www.php.net/preg_match_all

так?
 

klay

Новичок
Автор оригинала: tf
гы, чесно а нах..на ты тот код писал

если я тебя правильно понял у тебя три задачи
выбрать из базы необходимые url сайтов для проверки
взять контент по url-сайту(или из базы... неважно)
искать ссылки на тебя www.php.net/preg_match_all

так?
С preg_match_all я и так работаю. Возможно я не правильно пояснил....
PHP:
//Проходимся по массиву который передали серваку
foreach ($_POST as $key_post => $value_post){
//Если значение элемента НЕ SUBMIT
		if($value_post != "SUBMIT"){
//Открываем URL, читаем его содержимое в массив, где каждая строчка в отдельном эл-те.
			$url = file($value_post);
			
		}
//Все. Теперь $url это масив.
//Идем далее.

$counter = 0;

//Проходимся по массиву
		foreach ($url as $key => $value){
//Если preg_match_all возвращает положительный результат
			if(preg_match_all(/'тут_наш_URL'/, $value, $url_adr, PREG_SET_ORDER)){
//Тогда создаём масив куда результат помещаем. Это опционально и не нужно. Просто для наглядности.
				$url_arr[$key] = $url_adr;	
			}
//Увеличиваем на 1 кол-во требуемых строк на сайте
			$counter++;
		}
//Просто уведомляем
	echo 'Hа сайте ' . $value_post. ' было найдено ' .$counter. ' вхождений <br /><br />';
		
	}
	echo '<PRE>'; 
	//Распечатываем масив для наглядности
        print_r ($url_arr);
	echo '</PRE>';
Теперь я ясно изложил?
 

Фанат

oncle terrible
Команда форума
Работает не правильно. Помогите советом. Как заставить его работать как нужно?
К сожалению, данный форум не отвечает на подобного рода вопросы.

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

klay

Новичок
Автор оригинала: Фанат
К сожалению, данный форум не отвечает на подобного рода вопросы.

Если ты в состоянии сформулировать внятный и конкретный вопрос - тебе ответят.
Если же ты просто вываливаешь кучу кода без каких-либо вопросов, то с тем же успехом ты можешь делать это у себя дома.
Работает не правильно. Помогите советом. Как заставить его работать как нужно?
 

Фанат

oncle terrible
Команда форума
я же сказал. форум не отвечает на такие вопросы.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху