Последни влизания от Yahoo и Google

Автор: human

1-во правим файла , който отчита , че сме влезнали от една от двете търсачки.
Src.php

<?php
include"config.php";
$ref = parse_url($_SERVER['HTTP_REFERER']);
$ref2 = $_SERVER['HTTP_REFERER'];
function utf8_2_win1251 ($str_src)
{
$str_dst = "";
$i = 0;
while ($i<strlen($str_src))
{
$code_dst = 0;
$code_src1 = ord($str_src[$i]);
$i++;

if ($code_src1<=127)
{
$str_dst .= chr($code_src1);
continue;
}
else
if (($code_src1 & 0xE0) == 0xC0)
{
$code_src2 = ord($str_src[$i++]);
if (($code_src2 & 0xC0) != 0x80)
continue;

$code_dst = ( ($code_src1 & 0x1F) << 6) + ($code_src2 & 0x3F);
}
else
if (($code_src1 & 0xF0) == 0xE0)
{
$code_src2 = ord($str_src[$i++]);
if (($code_src2 & 0xC0) != 0x80)
continue;

$code_src3 = ord($str_src[$i++]);
if (($code_src3 & 0xC0) != 0x80)
continue;

$code_dst = ( ($code_src1 & 0x1F) << 12) + ( ($code_src2 & 0x3F) << 6) + ($code_src3 & 0x3F);
}
else
if (($code_src1 & 0xF8) == 0xF0)
{
$code_src2 = ord($str_src[$i++]);
if (($code_src2 & 0xC0) != 0x80)
continue;

$code_src3 = ord($str_src[$i++]);
if (($code_src3 & 0xC0) != 0x80)
continue;

$code_src4 = ord($str_src[$i++]);
if (($code_src4 & 0xC0) != 0x80)
continue;

$code_dst = ( ($code_src1 & 0x1F) << 18) + ( ($code_src2 & 0x3F) << 12) + ( ($code_src3 & 0x3F) << 6) + ($code_src4 & 0x3F);
}
else
{
continue;
}

if ($code_dst)
{
if ($code_dst==0x401)
{
$str_dst .= "?";
}
else
if ($code_dst==0x451)
{
$str_dst .= "?";
}
else
if ( ($code_dst>=0x410) && ($code_dst<=0x44F) )
{
$str_dst .= chr ($code_dst-848);
}
else
$str_dst .= "�{$code_dst};";
}
}
return $str_dst;
}
if ( strstr($ref['host'], 'google') )
{
$query = urldecode(array_shift(explode('&', array_pop(explode('q=', $ref['query'])))));//взимаме търсената дума
$query = utf8_2_win1251($query);//превръщаме от utf-8 в кирилица
$src="Google";//коя е търсачката
$data = date("m.d.y");//датата
$query2 = "INSERT INTO `search` (`id`, `query`, `data`,`link`, `src` ) VALUES('NULL','$query','$data', '$ref2','$src');";
mysql_query($query2);}//добавяме в БД
if ( strstr($ref['host'], 'yahoo') )//същото като по - горе , само дето за Yahoo
{
$query = urldecode(array_shift(explode('&', array_pop(explode('p=', $ref['query'])))));
$query = utf8_2_win1251($query);
$src="Yahoo!";
$data = date("m.d.y");
$query2 = "INSERT INTO `search` (`id`, `query`, `data`,`link`, `src` ) VALUES('NULL','$query','$data', '$ref2','$src');";
mysql_query($query2);
}
?>

Сега файлът за извеждане
izw.php

<table cellpadding='0' cellspacing='0' width='100%' class='border'>
<tr>
<td class='capmain'>Последни влизания от търсачки</td>
</tr>
<tr>
<td class='main-body'>
<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>
<tr>
<td class='capmain'><b>Дата</b></td>
<td class='capmain'><b>Дума</b></td>
<td align='center' width='5%' class='capmain' style='white-space:nowrap'><b>Търсачка</b></td>
</tr>
<?PHP
include"config.php";
$our2 = mysql_query("SELECT * from search order by id DESC LIMIT 10"); //взимаме инфо от БД
while($r2=mysql_fetch_array($our2)){
if (strlen($r2['query'])>100)
{$totchki='...';}
else
{$totchki='';}
$kratko = substr($r2['query'],0,100); //ако търсената дума е над 100 символа , я намаляме на 100 и слагаме многоточие
echo "<tr><td width='15%' >".$r2['data']."</td>";
echo "<td width='85%' ' ><a href=\"".$r2['link']."\">$kratko".$totchki."</a></td>";
echo "<td align='center' width='1%' >".$r2[src]."</td></tr>"; //извеждаме
} ?>
</table>
</td>
</tr>
</table>

Сега и config.php

<?php
$user = "";//дб потребител
$pass = "";//дб парола
$db = "";//дб
$host = "localhost";//хост
$connection = mysql_connect($host, $user, $pass) or die("Сайтът не може да се свърже към базата данни1");//свързваме се към базата данни
$db = mysql_select_db($db,$connection)or die("Сайтът не може да се свърже към базата данни2");
?>

Sql-чо

CREATE TABLE `search` (
`id` int(11) NOT NULL auto_increment,
`query` varchar(255) NULL,
`data` varchar(255) NULL,
`link` varchar(255) NULL,
`src` varchar(255) NULL,
PRIMARY KEY (`id`)
);

За да отчита влизанията най-горе във файловете ви трябва да добавите

<?PHP
include"src.php";
?>

Демо немога да дам

Урока е авторски и преписването е забранено!!!

Вашият коментар