仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 795|回复: 18
打印 上一主题 下一主题

[学习教程] PHP编程:带Oracle数据库分页显示功效的留言簿(1...

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:16:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。oracle|分页|数据|数据库|显示   大部分的网站,城市思索到和利用者之间的互动关系。这时候,用留言版的功效,可以让利用者留下到此一游,或是一些和网站的互动讯息。

  在设计上,可以很复杂的只留下利用者的短篇留言,也能够设计到依性质分门别类很庞杂的 Web BBS 体系。固然,要若何打造一个属于本人网站的留言版,就全靠网站的性质和 Web 网站开辟人员的巧思了。   在这里引见的典范,是复杂的列示一切留言的内容。供利用者可以一次看到多笔留言的材料。体系的后端寄存留言是用 Oracle 7.x 版的材料库体系。典范中的材料库(database) 称号为 WWW,连线的利用者帐号为 user38、暗码为 iam3849。要直接利用本例,必需先履行上面的 SQL 指令,创立 guestbook 的材料表格。
CREATE TABLE guestbook (
 serial varchar2(255) not null,
 ref varchar2(255) null,
 id char(8) not null,
 alias varchar2(32) not null,
 ip varchar2(1024) null,
 msgdate date not null,
 email varchar2(1024) null,
 msg varchar2(2000) not null,
 flag char(1) default 1,
 primary key(serial)
);
  下面的 SQL 各栏位申明及具体材料见下表
  序号 栏位   称号  数据类型 长度 栏位 申明  限制 Key
   0 流水号  serial varchar2  255 NN   PK
   1 参照流水号 ref  varchar2  255 暂保存 

  覆留言功效用

  2 帐号 id char 8 利用者帐号 NN

  3 匿名 alias varchar2 32 显示的名字 NN

  4 网址 ip varchar2 1024 上彀 IP

  5 工夫 msgdate date NN

  6 电子邮件 email varchar2 1024

  7 留言内容 msg varchar2 2000 NN

  8 显示旗标 flag char 1 0: 不显示

   1: 显示 (内定)
  在本节的留言版相干法式中,若到场了利用者认证功效,则可以在 guestbook材料表的帐号栏中留下利用者的认证帐号,便利 Webmaster 往后找寻不妥的发信者。在这儿先留下栏位,让需求的读者们练习了。
  要利用本节的法式,起首要先装好 Oracle 7.x 版,并肯定 Web Server 真个SQL*net 可以顺遂连上 Oracle 材料库。以后还要在编译 PHP 时加
  --with-oracle=/home/oracle/product/7.3.2 的选项,固然改成其它的途径也不妨,只需该途径真的是 Oracle 的途径便可。有关 Oracle 装设及利用上的细节请参考相干书本。
  上面的法式是将利用者的留言信息加到 guestbook 留言数据表中。若要设定利用者认证功效,可在法式刚入手下手时反省,发留言者就能够确认身份,而读取留言就不用身份反省。这类设定可以避免不妥讲话,却又不会让留言功效只要多数人利用。
<?php
file://---------------------------
// 新增留言法式 addmsg.php
// Author: Wilson Peng
// Copyright (C) 2000
file://---------------------------
//
// 可自行在这儿到场身份反省功效
//
if (($alias!="") and ($msg!="")) {
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);
$serial=md5(uniqid(rand()));
$ref="";
$id=$PHP_AUTH_USER;
$ip=$REMOTE_ADDR;
$msg=base64_encode($msg);
$flag="1";
$query="INSERT into guestbook(serial, ref, id, alias, ip,
msgdate, email, msg, flag) values('$serial', '$ref', '$id', '$alias', '$ip',
sysdate, '$email', '$msg', '$flag')";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
ora_close($cursor);
ora_logoff($handle);
Header("Location: ./index.php");
exit;
} else {
?>
<html>
<head>
<title>填写留言</title>
</head>
<body bgcolor=ffffff>
<form method=POST action="<? echo $PHP_SELF; ?>">
<table border=0 cellpadding=2 width=395>
<tr>
<td nowrap><font color=004080>代号大名</font></td>
<td width=20%><input type=text name=alias size=8></td>
<td nowrap><font color=004080>电子邮件</font></td>
<td width=50%><input type=text name=email size=18></td>
</tr>
<tr>
<td nowrapvalign=top><font color=004080>内容</font></td>
<td width=80% colspan=3><textarea rows=5 name=msg
cols=33></textarea></td>
</tr>
<tr>
<td width=100% colspan=4 align=center>
<input type=submit value="送出留言">
<input type=reset value="擦失落留言">
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>
  下面的法式在履行时,先反省变数 alias 和 msg 是不是有材料,若无材料则送出填写留言的表格到利用者端,供利用者填写留言。
  若利用者填好留言,按下 "送出留言" 的按钮后,则履行法式的前半部分。
  法式也许分红五部分
  1.. 设定 Oracle 需求的情况变数
  2.. 连上 Oracle 材料库
  3.. 收拾整顿材料,送入 Oracle 中
  4.. 停止与 Oracle 的连线
  5.. 停止法式,显示最新的留言材料

  在设定 Oracle 情况的部分,用 PHP 的函式 putenv(),可设定功课体系层的情况变数。要利用中文要记得到场上面这行
putenv("NLS_LANG=american_taiwan.zht16big5");
  以后就利用 Oracle 函式库的功效: ora_logon() 等等。详见 Oracle 材料库函式库。使用这个函式库,可以很等闲的操作 Oracle 材料库。


  终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。
莫相离 该用户已被删除
沙发
发表于 2015-2-4 10:42:47 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
简单生活 该用户已被删除
板凳
发表于 2015-2-4 23:07:49 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
admin 该用户已被删除
地板
发表于 2015-2-10 22:35:56 | 只看该作者
当然这种网站的会员费就几十块钱。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-17 17:42:57 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
只想知道 该用户已被删除
6#
发表于 2015-2-19 04:51:50 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
蒙在股里 该用户已被删除
7#
发表于 2015-3-5 11:02:43 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-8 14:37:23 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
9#
发表于 2015-3-11 17:25:46 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
再现理想 该用户已被删除
10#
发表于 2015-3-15 11:10:35 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
活着的死人 该用户已被删除
11#
发表于 2015-3-19 02:22:01 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
谁可相欹 该用户已被删除
12#
发表于 2015-3-24 16:14:22 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
再见西城 该用户已被删除
13#
发表于 2015-3-30 01:32:45 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
若相依 该用户已被删除
14#
发表于 2015-4-11 01:13:05 | 只看该作者
实践是检验自己会不会的真理。
不帅 该用户已被删除
15#
发表于 2015-4-12 13:11:09 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
小女巫 该用户已被删除
16#
发表于 2015-4-15 17:55:14 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
山那边是海 该用户已被删除
17#
发表于 2015-4-20 13:47:44 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
飘灵儿 该用户已被删除
18#
发表于 2015-4-21 14:15:09 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
分手快乐 该用户已被删除
19#
发表于 2015-5-3 03:14:16 | 只看该作者
当然这种网站的会员费就几十块钱。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 13:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表