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

PHP
php 多线程上下文中安全写文件实现代码
PHP类的使用 实例代码讲解
用php实现让页面只能被百度gogole蜘蛛访问的方法
php 学习笔记
PHP编程过程中需要了解的this,self,parent的区别
php 操作excel文件的方法小结
使用PHP获取网络文件的实现代码
PHP 巧用数组降低程序的时间复杂度
php下将XML转换为数组
php 文件上传代码(限制jpg文件)
php 无极分类(递归)实现代码
PHP 采集获取指定网址的内容
PHP 将图片按创建时间进行分类存储的实现代码
PHP 存储文本换行实现方法
PHP 批量更新网页内容实现代码
用PHP查询搜索引擎排名位置的代码
用php实现的获取网页中的图片并保存到本地的代码
php实现首页链接查询 友情链接检查的代码
处理php自动反斜杠的函数代码
php实现的遍历文件夹下所有文件,编辑删除

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 49 ::
收藏到网摘: 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