Един на банаер ротатор с брояч на импресиите.

boor

Registered
Ето го кода.Това от урока на DjCharge.

Код:
 <?php
srand((float) microtime() * 10000000);

$banner[1]['img']='img/1.gif';
$banner[1]['url']='http://www.bg-pro.com';
$banner[1]['txt']='Free Online Games - Flash and Shockwave!';

$banner[2]['img']='img/2.jpg';
$banner[2]['url']='http://web-tourist.net';
$banner[2]['txt']='Уеб-програмиране, уроци и скриптове...';

$banner[3]['img']='img/3.jpg';
$banner[3]['url']='http://it-place.net';
$banner[3]['txt']='Уроци и Скриптове на Български Език!';

$rnd = array_rand($banner);

echo "<a href=\"".$banner[$rnd]['url']."\" title=\"".$banner[$rnd]['txt']."\" target=\"_blank\">\n";
echo "<img src=\"".$banner[$rnd]['img']."\" border=\"0\" width=\"468\" height=\"60\"></a>\n";

$zapis = $banner[$rnd]['img'];
$fp = fopen("$zapis.txt", "a+");
$count = fread($fp, 1024);
fclose($fp);
$count = $count + 1;

echo "<br /><span style=\"font-family:verdana;font-size:11px;\">" . $banner[$rnd]['url'] . " - " . $count . " импресии</span>";

$fp = fopen("$zapis.txt", "w");
fwrite($fp, $count);
fclose($fp);
?>


Така аз го правя по следният начин.Да речеме че това е banners.php

Код:
<?php
srand((float) microtime() * 10000000);

$banner[1]['img']='img/1.gif';
$banner[1]['url']='http://www.bg-pro.com';
$banner[1]['txt']='Free Online Games - Flash and Shockwave!';

$banner[2]['img']='img/2.jpg';
$banner[2]['url']='http://web-tourist.net';
$banner[2]['txt']='Уеб-програмиране, уроци и скриптове...';

$banner[3]['img']='img/3.jpg';
$banner[3]['url']='http://it-place.net';
$banner[3]['txt']='Уроци и Скриптове на Български Език!';

$rnd = array_rand($banner);

echo "<a href=\"".$banner[$rnd]['url']."\" title=\"".$banner[$rnd]['txt']."\" target=\"_blank\">\n";
echo "<img src=\"".$banner[$rnd]['img']."\" border=\"0\" width=\"468\" height=\"60\"></a>\n";

После си права една друга страница да речеме impressions.html

И добавям това:

Код:
 $zapis = $banner[$rnd]['img'];
$fp = fopen("$zapis.txt", "a+");
$count = fread($fp, 1024);
fclose($fp);
$count = $count + 1;

echo "<br /><span style=\"font-family:verdana;font-size:11px;\">" . $banner[$rnd]['url'] . " - " . $count . " импресии</span>";

$fp = fopen("$zapis.txt", "w");
fwrite($fp, $count);
fclose($fp);
?>

Където Srnd е съответно 1,2,3.Изписва си колко импресии е направил банера,който съм избрал (с 1,2,3),обаче пък самият банер който съм избрал не ми излиза на banners.php

Можете ли да ми помогнете

:cry: [/code]
 
Пробвах и с този,но проблема е че не мога да уточня,на кой точно банер да се позкават импресиите,а оникновенно някой който си е платил за реклама иска да види,колко импресии е навъртял до сега ;).
 
boor каза:
Пробвах и с този,но проблема е че не мога да уточня,на кой точно банер да се позкават импресиите,а оникновенно някой който си е платил за реклама иска да види,колко импресии е навъртял до сега ;).
view.php
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
<title>Провери банер</title>
</head>
<body>
<form method="post" action="">URL:<input type="text" name="url" value=""><input type="submit" name="view" value="Виж импресийте"></form>
<?php
$view = $_POST['view'];
$baner = $_POST['url'];
$baner = htmlspecialchars($baner);
$baner = addslashes($baner);
include("conf.php");
mysql_connect($host,$user,$pass);
$chars="SET CHARACTER SET cp1251";
@mysql_select_db($db) or die( "Unable to select database");
mysql_query($chars);
if ($view)
{
$query = "SELECT * FROM $rw WHERE url='$baner'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
$url = $row[url];
$pic = $row[picurl];
$imp = $row[impresii];
$broi = mysql_numrows($result);
if ($broi == 0) {
echo "Няма такъв банер."; 
} elseif ($broi > 0) { 
?>
<a href="<?=$url?>" target="_blank"><img src="<?=$pic?>" border="0"></a><br />
Импресий: <?=$imp?><br />
</body>
</html>
<?php
}
}
?>
Едит: Това показва банера и импресийте щом напишеш url. :)
 
Въпрос:

Не съм наясно много много с БД

Код:
CREATE TABLE `banner` (
`url` varchar(130) collate cp1251_bulgarian_ci NOT NULL,
`picurl` varchar(130) collate cp1251_bulgarian_ci NOT NULL,
`id` mediumint(8) unsigned NOT NULL auto_increment,
`impresii` varchar(30) collate cp1251_bulgarian_ci NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci AUTO_INCREMENT=1 ;

Как може да стане енкодинга да е utf-8?
 
boor каза:
Въпрос:

Не съм наясно много много с БД

Код:
CREATE TABLE `banner` (
`url` varchar(130) collate cp1251_bulgarian_ci NOT NULL,
`picurl` varchar(130) collate cp1251_bulgarian_ci NOT NULL,
`id` mediumint(8) unsigned NOT NULL auto_increment,
`impresii` varchar(30) collate cp1251_bulgarian_ci NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci AUTO_INCREMENT=1 ;

Как може да стане енкодинга да е utf-8?
Код:
CREATE TABLE `banner` (
`url` varchar(130) collate utf8_bin NOT NULL,
`picurl` varchar(130) collate utf8_bin NOT NULL,
`id` mediumint(8) unsigned NOT NULL auto_increment,
`impresii` varchar(30) collate utf8_bin NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
 

Back
Горе