仓酷云

标题: PHP教程之带Oracle数据库分页显示功效的留言簿(... [打印本页]

作者: 深爱那片海    时间: 2015-2-4 00:17
标题: PHP教程之带Oracle数据库分页显示功效的留言簿(...
会MYSQL吗?会,我会把我的信息在数据库里插入删除啦oracle|分页|数据|数据库|显示   法式分红四部分
  1.. 初始化

  2.. 取数据库中的数据

  3.. 盘算要显示的页数

  4.. 送出材料

  这个法式在 BIGLOBE 上有实作,因为这是一间 ISP 公司,因而在设准时限制保持或专线的会员才干看到,进入前要输出帐号及暗码。为了回护留言者的隐私,留言以马赛克处置。
$WebmasterIPArray = array(
"10.0.1.30", // 办理人员甲的机械 IP
"10.0.2.28" // 办理人员乙的机械 IP
);
$WebmasterIP=false;
for ($i=0; $i<Count($WebmasterIPArray); $i++) {
if ($REMOTE_ADDR == $WebmasterIPArray[$i]) $WebmasterIP=true;
}
// 以后初始化 Oracle 法式略

  显示法式和留言法式的初始化部分都差不多,但显示法式多加了一个功效,设定Webmaster 的电脑。将 Webmaster 利用的 IP Address 加在 $WebmasterIPArray 阵列变数中,可以在显示留言时,显示删除留言的字串,便利处置不妥的留言。
$handle=ora_logon("user38@WWW","iam3849") or die;
$cursor=ora_open($handle);
ora_commitoff($handle);
$query="SELECT serial, ref, id, alias, ip, TO_CHAR(msgdate,
'yyyy/mm/dd hh:mi:ss'), email, msg FROM guestbook where flag='1' order by
msgdate desc";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
$i=0;
while(ora_fetch($cursor)) {
$guestbook[$i][0] = ora_getcolumn($cursor,0);
$guestbook[$i][1] = ora_getcolumn($cursor,1);
$guestbook[$i][2] = ora_getcolumn($cursor,2);
$guestbook[$i][3] = ora_getcolumn($cursor,3);
$guestbook[$i][4] = ora_getcolumn($cursor,4);
$guestbook[$i][5] = ora_getcolumn($cursor,5);
$guestbook[$i][6] = ora_getcolumn($cursor,6);
$guestbook[$i][7] = ora_getcolumn($cursor,7);
$i++;
}
ora_close($cursor);
ora_logoff($handle);
  在初始化后,就能够连上 Oracle 材料库,将留言的材料掏出放在 $guestbook阵列中。获得材料后,就赶忙将材料库封闭,再来处置 $guestbook 阵列的材料了。
if ($QUERY_STRING!="") {
$page = $QUERY_STRING;
} else {
$page = 0;
}   这一段法式判别是要显示第几页,内定值是显示第一页。要显示第三页的页面,需求利用 http://xxxxxx/index.php?2 的格局,也就是传入 $QUERY_STRING,余类推。以后的数行法式,都是用来处置显示的页数及笔数的材料。
$msgnum=20; // 每页二十笔
  要改动每页的显示笔数,可以改 $msgnum 变数。法式的内定值为 20 笔。
for ($i=$start; $i<$end; $i++) {
echo "<p><hr><p>\n";
echo "<p>\n<font color=e06060>".$guestbook[$i][5]."</font>   ";
if ($guestbook[$i][6]!="") echo "<a
href=mailto:".$guestbook[$i][6].">";
echo "<strong>".$guestbook[$i][3]."</strong>";
if ($guestbook[$i][6]!="") echo "</a>";
echo "<br>\n";
if ($WebmasterIP) echo "<a href=erase.php?".$guestbook[$i][0].">删除
本篇!!</a> (".$guestbook[$i][2].")   ";
echo "<font size=-1 color=c0c0c0>from:
".$guestbook[$i][4]."</font><p>\n";
$msg=base64_decode($guestbook[$i][7]);
$msg=nl2br($msg);
echo $msg;
echo "<p>\n";
}   这一段法式就是真正显示留言材料给利用者看的法式了。使用 for 回圈,将$guestbook 阵列的材料依照设定的页数掏出,显示给利用者看。值得一提的是,若看留言的机械 IP 为 $WebmasterIPArray 变数阵列中的一个元素的话,则会在留言者的匿称后显示 "删除本篇!!" 的字串,供办理人员删除不妥留言。
  以下即为删除留言的法式。
<?php
file://---------------------------
// 留言删除法式 erase.php
// Author: Wilson Peng
// Copyright (C) 2000
file://---------------------------
putenv("ORACLE_SID=WWW");
putenv("NLS_LANG=american_taiwan.zht16big5");
putenv("ORACLE_HOME=/home/oracle/product/7.3.2");
putenv("LD_LIBRARY_PATH=/home/oracle/product/7.3.2/lib");
putenv("ORA_NLS=/home/oracle/product/7.3.2/ocommon/nls/admin/data");
putenv("ORA_NLS32=/home/oracle/product/7.3.2/ocommon/nls/admin/data");
$handle=ora_logon("user38@WWW","iam3849") or die;
$cursor=ora_open($handle);
ora_commitoff($handle);
$query="UPDATE guestbook set flag='0' where
serial='".$QUERY_STRING."'";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
ora_close($cursor);
ora_logoff($handle);
Header("Location: ./index.php");
?>
  其实这个法式很纯真,只需翻开 Oracle 材料库,将欲删除的序号那笔材料的flag 栏位设成 0 就能够了,不必将材料真的从材料库上移除。
  当然你可以把你最基本的功能放出来的时候就放出来,比如放到论坛上,让大家都参与,
作者: 分手快乐    时间: 2015-2-9 22:16
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 只想知道    时间: 2015-2-28 00:08
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 柔情似水    时间: 2015-3-9 16:22
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 爱飞    时间: 2015-3-11 02:23
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 飘飘悠悠    时间: 2015-3-17 19:08
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 兰色精灵    时间: 2015-3-18 15:43
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 再现理想    时间: 2015-3-26 02:32
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 老尸    时间: 2015-3-31 04:41
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 小女巫    时间: 2015-4-3 22:44
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 不帅    时间: 2015-4-6 02:08
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 透明    时间: 2015-4-21 11:55
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 再见西城    时间: 2015-4-26 13:10
兴趣是最好的老师,百度是最好的词典。
作者: 第二个灵魂    时间: 2015-6-7 03:19
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 乐观    时间: 2015-6-13 09:40
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 愤怒的大鸟    时间: 2015-6-19 18:22
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 简单生活    时间: 2015-6-29 23:34
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 小妖女    时间: 2015-6-30 01:59
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 若相依    时间: 2015-7-7 06:53
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 山那边是海    时间: 2015-7-8 03:30
做为1门年轻的语言,php一直很努力。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2