7、源代码
1、需求分析
首先,需要识别每个用户。应该有验证机制。
其次,需要保存单个用户的书签。用户应该能够添加和删除书签。
再次,需要根据对他们的了解,向用户建议他们可能感兴趣的站点。
2、解决方案
2.1 系统流程图
2.2 PHPbookmark中的文件列表
文件名 |
描述 |
bookmarks.sql |
创建PHPbookmark的数据库SQL语句 |
login.php |
包含系统登录表单的页面 |
register_form.php |
系统中用户注册表单 |
register_new.php |
处理新注册信息的脚本 |
forgot_form.php |
用户忘记密码后需要填写的表单 |
forgot_passwd.php |
重新设置遗忘密码的脚本 |
member.php |
用户的主页面,包含该用户所有的当前书签 |
add_bm_form.php |
添加书签的表单 |
add_bms.php |
将书签真正添加到数据库中的脚本 |
delete_bms.php |
从用户的书签列表中删除选定书签的脚本呢 |
recommend.php |
基于用户以前的操作,推荐用户可能感兴趣的书签 |
change_passwd_form.php |
用户修改密码时要填写的表单 |
change_passwd.php |
修改数据库中用户密码的表单 |
logout.php |
将用户注销的脚本 |
bookmark_fns.php |
应用程序的包含文件集合 |
data_valid_fns.php |
确认用户输入数据有效的函数 |
db_fns.php |
连接数据库的函数 |
user_auth_fns.php |
用户身份验证的函数 |
url_fns.php |
增加和删除书签的函数 |
output_fns.php |
以HTML形式格式化输出的函数 |
bookmark.gif |
PHPbookmark的logo图标 |
3、实现数据库
create database bookmarks;use bookmarks;create table user ( username varchar(16) primary key, passwd char(40) not null, email varchar(100) not null);create table bookmark ( username varchar(16) not null, bm_URL varchar(255) not null, index (username), index (bm_URL));grant select, insert, update, deleteon bookmarks.*to [email protected] identified by 'password';
4、实现基本的网站
4.1 login.php
4.2 bookmark_fns.php
5、实现用户身份验证
5.1 register_form.php
5.2 register_new.php
16)) { throw new exception('Your password must be between 6 and 16 characters Please go back and try again.'); } //尝试注册 register($username,$email,$passwd); //注册会话变量 $_SESSION['valid_user'] = $username; //提供成员页面链接 do_html_header('Registration successful'); //HTML标题 echo 'Your registration was successful.Go to the members page to start setting up your bookmarks!'; //输出URL do_html_URL('member.php','Go to members page'); //HTML页脚 do_html_footer(); //HTML页脚 } catch(exception $e) { do_html_header('Problem:'); echo $e->getMessage(); do_html_footer(); exit; }?>
5.3 member.php
5.4 logout.php
'; do_html_URL('login.php','Login'); } else //不成功 { echo 'Could not log you out.
'; } } else { echo 'You were not logged in, and so have not been logged ot.
'; do_html_URL('login.php','Login'); } do_html_footer();?>
5.5 change_passwd.php
16) || (strlen($new_passwd) getMessage(); } display_user_menu(); do_html_footer();?>
5.6 forgot_paswd.php
'; } catch(exception $e) { echo 'Your password could not be reset - please try again later.'; } do_html_URL('login.php','Login'); do_html_footer();?>
6、实现书签的存储和检索
6.1 add_bms.php
getMessage(); } display_user_menu(); do_html_footer();?>
6.2 delete_bms.php
You have not chosen any bookmarks to delete.
Please try again.'; display_user_menu(); do_html_footer(); exit; } else { if(count($del_me) > 0) { foreach($del_me as $url) { if(delete_bm($valid_user,$url)) { echo 'Deleted '. htmlspecialchars($url) .'.
'; } else { echo 'Could not delete '. htmlspecialchars($url) .'.
'; } } } else { echo 'No bookmarks selected for deletion'; } } if($url_array = get_user_urls($valid_user)) { display_user_urls($url_array); } display_user_menu(); do_html_footer();?>
6.3 recommend.php
getMessage(); } display_user_menu(); do_html_footer();?>
7、源代码
下载地址
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
上一篇: php-fpm不工作,该如何处理
下一篇: PHP 7.1更新:性能比语法更重要
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论