站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
SpeedPHP/制作留言本
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{SpeedPHP top}} 我们使用sp框架来制作一个简单的留言本[[程序]],在实例中学习程序开发是非常有效的。同时,我们也可以体会一下实际[[网络]]项目的开发流程。 ==程序功能== *访问者可以查看留言首页(也就是留言列表)。 *访问者可以查看单一条留言的详细内容。 *访问者可以进行留言。 请注意,我们的“需求”都是以访问者为中心的。但同时我们还可以以访问者和[[管理员]]为中心,只是本条目介绍的留言本还暂时没有加入管理功能。 ==具体操作== 为了简单起见,我们并没有加入管理功能的需求。我们再来想想,在上面三个过程中所涉及的[[数据]]有哪些?对,仅是留言信息。那么我们大致考虑,留言信息会包括:留言标题,留言内容,留言者名字。另外,我们留言的信息还需要包括一个唯一的标志,以区分每一条留言。好了,那么我们就可以得出,留言本程序的数据表仅有一个“留言表”(起个英文名叫guestbook),它的大致结构是: *留言标题,[[字符串]](也就是中英文)形式,大概不会多于50字。用title做数据表的字段名称。 *留言内容,字符串,也不会多于200字吧,用contents做字段名。 *留言者名字,字符串,大概在20个字以内,用name做字段名。 *唯一标志,一般用数字形式的ID。用id做字段名。 按以上的说明,我们可以得出以下的数据表结构。 <pre> CREATE TABLE `guestbook` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(50) , `contents` varchar(200) , `name` varchar(20) , PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; </pre> 在[[PhpMyAdmin]]中建好了guestbook表 [[Image:Guestbooktable 1.jpg]] 然后后,我们可以在index.php中对程序进行[[数据库]]的配置: <pre> <?php // sp框架的目录,SpeedPHP.php文件所在的目录 define("SP_PATH",dirname(__FILE__)."/SpeedPHP"); // 应用程序目录,controller和model等文件夹所在的目录,这里设置的是根目录 define("APP_PATH",dirname(__FILE__)); // 这里开始是应用程序的配置 $spConfig = array( "db" => array( // 数据库设置 'host' => 'localhost', // 数据库地址,一般都可以是localhost 'login' => 'root', // 数据库用户名 'password' => '123456', // 数据库密码 'database' => 'test', // 数据库的库名称 ), ); require(SP_PATH."/SpeedPHP.php"); spRun(); // SpeedPHP 3新特性 </pre> 上面提到访问者进行的三个动作:看留言本首页,看留言内容,留言。好的,那么我们的main.php,就可以是下面的样子了: <pre> <?php class main extends spController { function index(){ // 这里是首页 } function show(){ // 这里是查看留言内容 } function write(){ // 这里是留言 } } </pre> 将main.php放到controller目录里面后,我们建立一个guestbook.php放到model目录里面,那是链接数据库所要做的。guestbook.php的代码很简单: <pre> <?php class guestbook extends spModel { var $pk = "id"; // 每个留言唯一的标志,可以称为主键 var $table = "guestbook"; // 数据表的名称 } </pre> 上面准备的程序,就可以说系统架构。 ==代码呈现== 准备好了这些程序后,我们可以写[[代码]]了,main.php的代码如下: <pre> <?php class main extends spController { function index(){ // 这里是首页 $posturl = spUrl("main", "write"); // 用spUrl制造写留言的地址 echo "<p align=center><h2>我的留言本</h2></p>"; // 下面做一个表单来提交留言,请注意这些输入框的name属性,它们都对应了数据表guestbook的字段名! echo "<p>请写下您的留言:</p><form action={$posturl} method=POST><p>您的名字:<input type=text name=name></p><p> 留言标题:<input type=text name=title></p><p>留言内容:<textarea name=contents></textarea></p><p><input type=submit value=提交></p></form>"; $guestbook = spClass("guestbook"); // 用spClass来初始化留言本数据表对象(模型类对象) if( $result = $guestbook->findAll() ){ // 用findAll将全部的留言查出来 foreach($result as $value){ // 循环输出留言信息 $contentsurl = spUrl("main", "show", array('id'=>$value['id'])); // 用spUrl制造查看留言内容页面地址,请注意array('id'=>$value['id'])将传递ID到查看页面,由spArgs来接收。 echo "<p>这里是第{$value['id']}条留言:<a href={$contentsurl} target=_blank>{$value['title']}</a> & nbsp;{$value['name']}</p>"; } } } function show(){ // 这里是查看留言内容 $id = $this->spArgs("id"); // 用spArgs接收spUrl传过来的ID $guestbook = spClass("guestbook"); // 还是用spClass $condition = array('id'=>$id); // 制造查找条件,这里是使用ID来查找属于ID的那条留言记录 $result = $guestbook->find($condition); // 这次是用find来查找,我们把$condition(条件)放了进去 // 下面输出了该条留言内容 echo "<p>留言标题:{$result['title']}</p>"; echo "<p>留言者:{$result['name']}</p>"; echo "<p>留言内容:{$result['contents']}</p>"; } function write(){ // 这里是留言 $guestbook = spClass("guestbook"); $guestbook->create($this->spArgs()); // 这里用$this->spArgs()取得了表单的全部内容,然后增加了一条留言记录 echo "留言成功,<a href=/index.php>返回</a>"; } } </pre> 好了,我们可以先将上面代码复制到我们的main.php里面,运行一下试试吧。 [[Image:Guestbooktable 2.jpg]] ==参考来源== http://speedphp.com/manual.html {{SpeedPHP}} [[category:SpeedPHP|Z]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:SpeedPHP
(
编辑
)
模板:SpeedPHP top
(
编辑
)