当前位置:Gxlcms > PHP教程 > 7、源代码

7、源代码

时间:2021-07-01 10:21:17 帮助过:21人阅读

一个简单的PHP在线书签系统

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

PHPbookmarklogo图标



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

输出的函数    require_once('url_fns.php');    //增加和删除书签的函数?>

5、实现用户身份验证

5.1 register_form.php

输出注册表单        do_html_footer();   //HTML页脚?>

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) < 6))        {            throw new exception('New password must be between 6 and 16 characters. Try again.');        }                //尝试修改        change_password($_SESSION['valid_user'],$old_passwd,$new_passwd);        echo 'Password changed.';    }    catch(exception $e)    {        echo $e ->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、源代码

下载地址



版权声明:本文为博主原创文章,未经博主允许不得转载。

人气教程排行