用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通用分页类page.php[仿google分页]
Aug 31 PHP
linux下 C语言对 php 扩展
Dec 14 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
May 07 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
php实现向javascript传递数组的方法
Jul 27 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
PHP levenshtein()函数用法讲解
Mar 08 PHP
mongodb和php的用法详解
Mar 25 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 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
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
JS 统计时间
2021/03/09 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python入门学习指南分享
2018/04/11 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
python中如何打包用户自定义模块
2020/09/23 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
2017/05/18 HTML / CSS
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
高校教师自荐信范文
2014/03/13 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
课文《燕子》教学反思
2016/02/17 职场文书