用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 相关文章推荐
一个很不错的PHP翻页类
Jun 01 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
PHP 防恶意刷新实现代码
May 16 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
php中json_decode()和json_encode()的使用方法
Jun 04 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 PHP
PHP中file_get_contents高?用法实例
Sep 24 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
PHP生成RSS文件类实例
Dec 05 PHP
ThinkPHP静态缓存简单配置和使用方法详解
Mar 23 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
Dec 09 PHP
PHP实现浏览器中直接输出图片的方法示例
Mar 14 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在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
js的回调函数详解
2015/01/05 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
js添加千分位的实现代码(超简单)
2016/08/01 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
js实现网页随机验证码
2020/10/19 Javascript
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
C#面试题
2016/05/06 面试题
中式面点餐厅创业计划书
2014/01/29 职场文书
先进班级集体事迹材料
2014/01/30 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
成本会计实训报告
2014/11/05 职场文书
幼师大班个人总结
2015/02/13 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技