Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Я тупой

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Я тупой
Имя
Сообщение << Старые топики   Новые топики >>
Я тупой - 2009-06-29 14:18:42.646666   
Pupkin-Zade

Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
Как в javascript получить параметр из адресной строки??
 
Например
 
http://www.xakep.ru/?pupkin=loh
 
Как получить loh???
Post #: 1
RE: Я тупой - 2009-06-29 14:40:50.720000   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
Вот как раз только закончил модуль для джумлы, который вытягивает то, что тебе нужно

function referrer() &nbsp;&nbsp; {/*данная функция принимает ссылку реферера, разрезает её по знаку вопроса, &nbsp;&nbsp; правую часть делить на переменные по знаку &amp;. После того, как найдено совпа- &nbsp;&nbsp; дение сайт-поисковый ключ, значение поискового ключа рекодируется. Для &nbsp;&nbsp; mail.ru необходима дополнительная декодировка.*/ &nbsp;&nbsp; $db&nbsp;&nbsp;&nbsp; = &amp; JFactory::getDBO(); &nbsp;&nbsp;&nbsp; if (isset($_SERVER['HTTP_REFERER']) and $_SERVER['HTTP_REFERER']!="") &nbsp;&nbsp;&nbsp; &nbsp; { $url=$_SERVER['SERVER_NAME']; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $jreferer=$_SERVER['HTTP_REFERER']; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $jreferer=strtolower($jreferer); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!stristr($jreferer,$url)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {/*в первую очередь проверяем, а не пришел ли юзер от поисковика. &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Если да, то главное узнать что он искал в поисковике*/ &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (stristr($jreferer,'?')) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {extract(fint_text($jreferer)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*теперь, если это не был поисковик или не была найдена поисковая &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; фраза, созраняем просто линк*/ &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (isset($text)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$q="SELECT `id` FROM `#__bot_words` WHERE `from`='".$jreferer."'"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $db-&gt;setQuery($query); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $folow = $db-&gt;loadResult(); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $self="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($folow=="") &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$query="INSERT INTO `#__bot_words` SET `bot_id`='".$bot."', ". &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "`where`='".$self."', `from`='".$jreferer."', `word`='".$text."', ". &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "`time`='".time()."', `hit`='1', `check`='".mt_rand(0,time())."'"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$query="UPDATE `#__bot_words` SET `time`='".time()."', `hit`=`hit`+1 Where `id`='"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $db-&gt;setQuery( $query ); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!$db-&gt;query()) { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return JError::raiseWarning( 500, $db-&gt;getError() ); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return false; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp; } &nbsp;&nbsp; } &nbsp;&nbsp; function fint_text($jreferer) &nbsp;&nbsp; {$db&nbsp;&nbsp;&nbsp; = &amp; JFactory::getDBO(); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; list($vhost,$locate)=explode("?",$jreferer); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $q="SELECT * FROM `#__spider`"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $db-&gt;setQuery($q); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $rows = $db-&gt;loadObjectList(); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (count($rows)=="0") &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; return false; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach ($rows as $key=&gt;$value) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {if (stristr($vhost,$value-&gt;pro_name)) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; {if ($value-&gt;param_chek=="1") &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; {$segment="chr(hexdec('$1')-848)"; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; $locate=preg_replace("!%u(\w{4})!e",$segment , $locate); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; $jreferer=preg_replace("!%u(\w{4})!e", $segment, $jreferer); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $b = explode('&amp;', $locate); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach ($b as $val) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {$frag=explode("=", $val); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; If (@$frag[1]!="" and $frag[0]==$value-&gt;pattern) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $text=htmlspecialchars(urldecode(stripslashes($frag[1]))); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $ret = array("text"=&gt;$text, "locate"=&gt;$locate, "jreferer"=&gt;$jreferer,"bot"=&gt;$value-&gt;id); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return ($ret); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; } &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; } // А это дамп БД где, можно указать какой параметр нужно тебе вытянуть CREATE TABLE `jos_spider` ( `id` mediumint(9) NOT NULL auto_increment, `name` varchar(255) NOT NULL default 'name', `pro_name` varchar(255) NOT NULL default 'q', `pattern` varchar(32) NOT NULL default 'q', `param_chek` varchar(1) NOT NULL default '0', `img` varchar(32) NOT NULL, PRIMARY KEY&nbsp; (`id`) ) ENGINE=MyISAM&nbsp; DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ; -- -- Дамп даних таблиці `jos_spider` -- INSERT INTO `jos_spider` (`id`, `name`, `pro_name`, `pattern`, `param_chek`, `img`) VALUES (1, 'QIP', 'qip.ru', 'query', '0', 'qip.png'), (2, 'Live', 'live.com', 'q', '0', 'live.png'), (3, 'Yandex', 'm.yandex.ru', 'query', '0', 'yandex.png'), (4, 'Yandex', 'yandex', 'text', '0', 'yandex.png'), (5, 'Google', 'google', 'q', '0', 'google.png'), (6, 'Meta', 'meta.ua', 'q', '0', 'meta.png'), (7, 'Rambler', 'rambler.ru', 'query', '0', 'rambler.png'), (8, 'Nigma', 'nigma.ru', 's', '0', 'nigma.png'), (9, 'Yahoo', 'yahoo.com', 'p', '0', 'yahoo.png'), (10, 'mail.ru', 'mail.ru', 'q', '1', 'mailru.png'), (11, 'search', 'search', 'query', '0', 'search.png'), (12, 'search', 'search', 'q', '0', 'search.png');
Ой, сори, не дочитал, что ты хочешь джаваскриптом вынимать, хотя принцип тот же, кроме того, можно использовать Ajax

Post #: 2
RE: Я тупой - 2009-06-29 14:41:28.383333   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
http://tinyurl.com/n88upo
Post #: 3
RE: Я тупой - 2009-06-29 14:48:30.590000   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
Принцип тот же, только на JS. Разрезаем по знаку вопроса, а потом правую часть разрезаем по символу "&", а потом каждую строку в полученном массиве разрезаем по символу "="[sm=bu.gif]
Post #: 4
RE: Я тупой - 2009-06-29 14:54:43.610000   
Pupkin-Zade

Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
Афигеть…
А проще ничего нет?
Post #: 5
RE: Я тупой - 2009-06-29 15:31:42.240000   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
Куда проще-то ?)
var tmp = new Array(); // два вспомагательных var tmp2 = new Array(); // массива var param = new Array(); var get = location.search; // строка GET запроса if(get != '') { tmp = (get.substr(1)).split('&'); // разделяем переменные for(var i=0; i &lt; tmp.length; i++) { tmp2 = tmp[i].split('='); // массив param будет содержать param[tmp2[0]] = tmp2[1]; // пары ключ(имя переменной)-&gt;значение } alert(param['pupkin']); }
Post #: 6
RE: Я тупой - 2009-06-29 15:33:16.303333   
Pupkin-Zade

Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
Если ты считаешь что написанное выше гораздо проще чем
 
request("pupkin")
 
то мы как то по разному мыслим…
Post #: 7
RE: Я тупой - 2009-06-29 15:45:45.546666   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
А вот нету там такого) Хотя не помешало бы.

ЗЫ. Можно тот код в функцию сунуть и будет request(); :)
Post #: 8
RE: Я тупой - 2009-06-29 16:15:08.930000   
Pupkin-Zade

Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
Ну так это понятно…
Ладно, спасибо
Post #: 9
RE: Я тупой - 2009-07-05 21:24:51.076666   
volt95

Сообщений: 177
Оценки: 0
Присоединился: 2008-10-06 09:56:17.150000
Мне больше понравилось название темы :D

з.ы. извиняюсь за тупой юмор(
Post #: 10
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Я тупой







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.