冷月葬花魂 发表于 2015-2-16 00:27:42

PHP网页编程之用PHP完成小型站点告白办理

说说这一个月左右的学习情况和心得吧!我个人认为,既然决定了去做一件事,那就要以认真的态度去对待!既然决定来学习了,那不管当初是抱着怎样的心态来到这个培训班的,都要让自己认真的投入到学习中。告白|站点   图片链接告白也许是最为经常使用的收集告白形式,然而多条告白的静态随机显示可不是那末复杂的工作。PHP的文件上传函数供应了在这块468x60像素的区域(网页告白的尺度尺寸)完成可以依据权值巨细而随机显示告白的处理计划,从而防止了开辟FTP法式或是ASP和Perl CAI中需求外挂扩大才干完成此项功效的坏处。

  本例在PHP4+MySQL+Apache for Win9x/2000下调试经由过程,共包含两局部:用来增添新告白的法式AddNewAd.php3和显示告白的法式ShowAd.php3,都寄存在办事器PHP文件目次下的“test/guanggao/”目次中。在guanggao目次中创立一个寄存告白链接图片的子目次“adbanner/”。上面咱们按步调停止剖析。

1.起首,创立MySQL数据库:guanggao

  在Windows情况下,创立一个MySQL空数据库很复杂,由于每一个数据库都是存在于mysql/data/目次下的一个子目次,所以只需在该目次下新建子目次guanggao就能够了,这时候数据库内还没有任何表和数据。

2.创立新增告白法式:AddNewAd.php3

  设计思绪:个中先用表单失掉用户的新告白信息;然后用PHP函数copy()将链接图片(banner)文件上传到办事器adbanner目次下;最初将图片文件名、告白网址、申明、加权信息等写入创立的MySQL数据表ad中。该法式代码以下:

  # AddNewAd.php3――增加新的告白 #
<center><h1>增加新告白</h1></center>
//表单用来输出新增告白信息,并交给上面的PHP法式处置;
//个中,加权值priority数字愈大,载入页面图片呈现的机率就愈高,默许为1。
<FORM ENCTYPE="multipart/form-data" ACTION="AddNewAd.php3" METHOD=POST>
告白 Banner: <input name=banner TYPE="file"><br>
告白网址URL: <input name=url type=text size=30><br>
图片链接申明ALT: <input name=alt type=text size=30><br>
显示加权: <input name=priority type=text size=5 value=1><br>
<input type="submit" VALUE="提交">
</FORM>
//处置表双数据的PHP法式;
<?php
//图片banner名和链接地址不克不及为空;
if (( banner!="") & ( url!="")) {
//若告白链接和图片名已被利用,必需另选;
if (file_exists("adbanner/". banner_name)) {
echo "告白图片. banner_name.已被利用,请另选!";
exit;
};
//上传链接图片文件名到adbanner目次;
copy( banner,"adbanner/". banner_name);
//毗连MySQL数据库;
connection = mysql_connect();
//选择数据源guanggao,履行查询;;
mysql_select_db("guanggao", );
query="SELECT * FROM ad";
result=mysql_query( query);
//假如数据表ad不存在,则按以下布局创立新数据表ad;
if(!result){
mysql_query("
create table ad(
url varchar(100) not null,
banner varchar(150) not null,
alt varchar(100) null,
priority tinyint(4) default 1 not null
)") or die(mysql_error());
}
//向数据表ad中拔出来自于表单的新数据;
query="insert into ad(url, banner, alt, priority) values( url, banner_name,
alt, priority)";
//拔出胜利则显示以下信息;
try=mysql_query( query);
if( try){
echo "一条告白新增完成,具体信息:
";
echo "<a href=" url"><img src="adbanner/ banner_name" alt=". alt." border=0></a><br>";
echo "告白网址: url<br>告白链接申明: alt<br>显示加权: priority ";
}
}
?>

3.创立显示告白法式:ShowAd.php3

  设计思绪:失掉数据库表中一切各列信息分离存到响应的一维数组中,将一切告白的权值相加失掉一个最大随机数,每次载入页面用srand() 发生一个随机树种子,再用rand()函数发生一个从1到最大随机数之间的一个随机数,然后依照必定的划定规矩随机显示分歧告白条,权值越大被显示的时机越大。

# ShowAd.php3――随机显示告白 #
<?php
//毗连选择数据库;
connection = mysql_connect();
mysql_select_db("guanggao", connection);
//履行查询失掉告白条数;
query="SELECT url, banner, alt, priority FROM ad where priority > 0";
result=mysql_db_query("guanggao", 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-1; i++) {
pricount += adpriority[ i];
if ( pri <= pricount) {
ad[]="<a href=" adurl[ i]" target=new></a>";
}
}
//显示告白,权值越大,显示时机越大;
echo ad;
?>



我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:

再现理想 发表于 2015-2-16 02:06:59

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

再见西城 发表于 2015-3-4 22:43:41

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

只想知道 发表于 2015-3-8 14:18:51

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

第二个灵魂 发表于 2015-3-10 04:09:40

兴趣是最好的老师,百度是最好的词典。

小女巫 发表于 2015-3-17 03:10:33

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

简单生活 发表于 2015-3-17 09:08:24

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

乐观 发表于 2015-3-24 02:24:34

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

小妖女 发表于 2015-4-16 19:09:05

Ps:以上纯属原创,如有雷同,纯属巧合

冷月葬花魂 发表于 2015-4-17 14:40:49

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

兰色精灵 发表于 2015-4-22 01:35:13

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

飘灵儿 发表于 2015-4-22 09:37:07

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

仓酷云 发表于 2015-4-23 03:04:20

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

变相怪杰 发表于 2015-4-26 10:12:41

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

山那边是海 发表于 2015-4-26 20:43:01

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

若相依 发表于 2015-6-14 18:36:54

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

透明 发表于 2015-6-22 00:03:48

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

飘飘悠悠 发表于 2015-6-22 17:14:30

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

因胸联盟 发表于 2015-6-27 00:19:13

基础有没有对学习php没有太大区别,关键是兴趣。
页: [1]
查看完整版本: PHP网页编程之用PHP完成小型站点告白办理