当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用PHP实现小型站点广告管理(修正版)

PHP
php面向对象全攻略 (十五) 多态的应用
php面向对象全攻略 (十六) 对象的串行化
php面向对象全攻略 (十七) 自动加载类
PHP parse_url 一个好用的函数
PHP 字符串分割和比较
全世界最小的php网页木马一枚 附PHP木马的防范方法
PHP 日期加减的类,很不错
PHP 日期时间函数的高级应用技巧
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Ha0k 0.3 PHP 网页木马修改版
PHP iconv 函数转gb2312的bug解决方法
关于页面优化和伪静态
使用zend studio for eclipse不能激活代码提示功能的解决办法
PHP 身份验证方面的函数
基于OpenCV的PHP图像人脸识别技术
用mysql触发器自动更新memcache的实现代码
php 数学运算验证码实现代码
PHP网站开发方案实例
PHP教程:挖掘细节提升网站性能
搜索引擎技术核心揭密(PHP)

用PHP实现小型站点广告管理(修正版)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 176 ::
收藏到网摘: n/a

今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看。
数据结构如下:
CREATE TABLE ad (
url varchar(100) NOT NULL,
banner varchar(150) NOT NULL,
alt varchar(100),
priority int(4) DEFAULT '1' NOT NULL,
)
增加广告的文件
***************putad.php********************
<? if($submit){
//处理表单数据的PHP程序;
//图片banner名和链接地址不能为空;
if (( banner!="") & ( url!="")) {
//若广告链接和图片名已被使用,必须另选;
if (file_exists("adbanner/". $banner_name)) {
echo "广告图片. banner_name.已被使用,请另选!";
exit;
};
//上传链接图片文件名到adbanner目录;
copy( $banner,"adbanner/". $banner_name);
//连接MySQL数据库;
include("config.inc");
//向数据表ad中插入来自于表单的新数据;
$query="insert into ad (url, alt, priority, banner) values('$url','$alt','$priority','$banner_name')";
//插入成功则显示以下信息;
$try=mysql_query($query);
if($try){
echo "一条广告新增完成,详细信息:";
echo "";
echo "广告网址: $url
广告链接说明: $alt
显示加权: $priority ";
}else{echo "出错";}
}
}else{
?>
<html>
<head>
<title>Untitled</title>
</head>
<body bgcolor="#ffffff">
<p>广告交换表</p>
<form method="post" action="putad.php" enctype="multipart/form-data">
<p>图 片 URL:
<input type="file" name="banner">
</p>
<p>连接 URL:
<input type="text" name="url">
</p>
<p>显示权数:
<input type="text" name="priority"></p>
<p>连接说明:
<input type="text" name="alt">
</p>
<p>
<input type="submit" name="submit" value="确定">
<input type="reset" name="concel" value="重填">
</p>
</form>
</body>
</html> <?}?>
***************showad.php********************

<?
include("config.inc");
$query="SELECT url, banner, alt, priority from ad";
$result=mysql_query($query);
$numrows=mysql_num_rows($result);
//使用mysql_fetch_object()函数获取有用的列信息并存到相应数组中;
while($row = mysql_fetch_object($result)) {
$adurl[]=$row->url;
$adbanner[]=$row->banner;
$adalt[]=$row->alt;
$adpriority[]=$row->priority;
}
//初始化中间变量;
$numcheck=$numrows;
$i=$pricount=0;
//得到最大随机数;
while($numcheck) {
$pricount+=$adpriority[$i];
$i++; $numcheck--;
}
//程序执行时的百万分之一秒产生随机数种子;
srand((double)microtime()*1000000);
//得到1到最大随机数之间的一个随机数;
$pri= rand(1,$pricount);
//中间变量清零;
$pricount=0;
//按加权值不同,产生用来显示广告的、元素为字串的数组;
for($i=0;$i<$numrows;$i++) {
$pricount+=$adpriority[$i];
if ($pri<=$pricount) {
$ad[]="<a href=$adurl[$i]><img src=adbanner\$adbanner[$i] alt=$adalt[$i] border=0></a>";
}
}
//显示广告,权值越大,显示机会越大;
echo $ad[0];
?>

注释:其中config.inc里面就是连接mysql数据库的东西,在这就不列出来了。上面的程式还有改进空间,还有好多功能没实现,如果你愿意你也可以修改。不过修改后最好给一份给我:[email protected]
有问题请和我联系:oicq:18680986