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


Posted in PHP onOctober 09, 2006

今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看。
数据结构如下:

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数据库的东西,在这就不列出来了。上面的程式还有改进空间,还有好多功能没实现,如果你愿意你也可以修改。不过修改后最好给一份给我:terence611005@sina.com
有问题请和我联系:oicq:18680986  

PHP 相关文章推荐
用ODBC的分页显示
Oct 09 PHP
ADODB结合SMARTY使用~超级强
Nov 25 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
Apr 15 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
Oct 30 PHP
php实现mysql数据库连接操作及用户管理
Nov 08 PHP
php + nginx项目中的权限详解
May 23 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
Nov 21 PHP
PHP时间函数使用详解
Mar 21 PHP
laravel框架语言包拓展实现方法分析
Nov 22 PHP
php实现记事本案例
Oct 20 PHP
BBS(php &amp; mysql)完整版(二)
Oct 09 #PHP
BBS(php &amp; mysql)完整版(三)
Oct 09 #PHP
将数字格式的计算结果转为汉字格式
Oct 09 #PHP
透析PHP的配置文件php.ini
Oct 09 #PHP
一个简单的自动发送邮件系统(三)
Oct 09 #PHP
一个简单的自动发送邮件系统(一)
Oct 09 #PHP
一个简单的自动发送邮件系统(二)
Oct 09 #PHP
You might like
PHP循环结构实例讲解
2014/02/10 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
php中的异常和错误浅析
2017/05/03 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
canvas的神奇用法
2017/02/03 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
python global关键字的用法详解
2019/09/05 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
python 求定积分和不定积分示例
2019/11/20 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
百联网上商城:i百联
2017/01/28 全球购物
非功能性需求都包括哪些方面
2013/10/29 面试题
2014年为民办实事工作总结
2014/12/20 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
2015年资料员工作总结
2015/04/25 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers