宝哥软件园

PHP在线书签系统分享

编辑:宝哥软件园 来源:互联网 时间:2021-09-19

本文为大家分享了PHP在线书签系统,感兴趣的朋友可以参考一下。

1.需求分析首先,需要确定每个用户。应该有一个认证机制。其次,您需要为单个用户保存书签。用户应该能够添加和删除书签。第三,根据他们的理解,有必要建议用户可能感兴趣的网站。

2.解决方案2.1系统流程图。

2.2 PHP书签中的文件列表。

3.实现数据库。

创建数据库书签;使用书签;创建表用户(username varchar(16)主键,passwd char(40)不为空,email varchar(100)不为空);创建表书签(username varchar(16)不为空,bm_URL varchar(255)不为空,index (username),index(BM _ URL));授予选择、插入、更新、删除书签的权限。*至由“密码”标识的[email protected];4.实现基础网站4.1 login.php。

?Php /** *包含系统登录表单的页面*///require _ once语句与require语句完全相同。唯一不同的是,PHP会检查文件是否已经包含,如果包含,就不会再包含。require _ once(' bookmark _ fns . PHP ');//应用程序的包含文件集合do _ html _ header(“”);//HTML标题显示_ site _ info();//HTML网站信息显示_登录_表单();//HTML登录信息do _ HTML _ footer();//HTML页脚?4.2 bookmark_fns.php

?php/* * * application *///require _ once语句的include文件集与require语句完全相同,唯一的区别是PHP会检查文件是否已经包含,如果已经包含,就不再包含。require _ once(' data _ valid _ fns . PHP ');//用有效的用户输入数据确认函数require _ once(' db _ fns . PHP ');//连接数据库的功能需要_ once(' user _ auth _ fns . PHP ');//用户身份验证函数require _ once(' output _ fns . PHP ');//函数require _ once为HTML格式的打印格式(' URL _ fns . PHP ');//添加和删除书签的功能?5.实施用户身份验证5.1 register _ form.php。

?php /** *系统中用户注册表单的*///require_once语句与require语句完全相同。唯一不同的是,PHP会检查文件是否已经包含,如果包含,就不会再包含了。require _ once(' bookmark _ fns . PHP ');do_html_header('用户注册');//HTML标题显示_ registration _ form();//输出登记表do _ html _ footer();//HTML页脚?5.2 register_new.php

?php /** *处理新注册信息的脚本*///需要一次语句和需要语句完全相同,唯一区别是服务器端编程语言(专业超文本预处理器的缩写)会检查该文件是否已经被包含过,如果是则不会再次包含。需要一次(' bookmark _ fns。PHP’);//创建变量$ email=$ _ POST[' email '];$ username=$ _ POST[' username '];$ passwd=$ _ POST[' passwd '];$ passwd 2=$ _ POST[' passwd 2 '];//开启会话session _ start();尝试{ //检查表单是否填写满if(!已填写($ _ POST)){ 0抛出新的异常('您没有正确填写表单-请返回并重试。');} //检查邮件地址是否有效if(!valid _ email($ email)){ 0抛出新的异常('这不是vald电子邮件地址。请回去再试一次。);} //检查两次输入密码是否相同if($passwd!=$ passwd 2){ 0引发新的异常('您输入的密码不匹配-请返回重试。');} //检查密码长度是否合格如果((strlen($ passwd)6)| |(strlen($ passwd)16))抛出新的异常('您的密码必须在6到16个字符之间。请返回并重试。');} //尝试注册register($username,$email,$ passwd);//注册会话变量$ _ SESSION[' valid _ user ']=$ username;//提供成员页面链接do_html_header('注册成功');//HTML标题"回声"您的注册成功。转到成员页面开始设置您的书签!//输出URL do_html_URL('member.php ','转到成员页面');//HTML页脚do _ html _页脚();//HTML页脚} catch(异常$ e){ do _ html _ header('问题: ');echo $ e-Getmessay();do _ html _页脚();退出;} ?5.3 member.php

?php /** *用户的主页面,包含该用户所有的当前书签*///需要一次语句和需要语句完全相同,唯一区别是服务器端编程语言(专业超文本预处理器的缩写)会检查该文件是否已经被包含过,如果是则不会再次包含。需要一次(' bookmark _ fns。PHP’);session _ start();//创建变量$ username=@ $ _ POST[' username '];$ passwd=@ $ _ POST[' passwd '];if($ username $ passwd){ try { log in($ username,$ passwd);//如果该用户在数据库中,则注册会话变量$ _ SESSION[' valid _ user ']=$ username;} catch(异常$e) { //登录不成功do _ html _ header('问题: ');"回声"您无法登录。您必须登录才能查看此页面。do_html_URL('login.php ',' log in ');do _ html _页脚();退出;} } do _ html _ header(' Home ');check _ valid _ user();//获取用户的书签if($ URL _ array=get _ user _ URL($ _ SESSION[' valid _ user ']))display _ user _ URL($ URL _ array);//获取用户菜单选项display _ user _ menu();do _ html _页脚();5.4 logout.php

?php /** *将用户注销的脚本*///需要一次语句和需要语句完全相同,唯一区别是服务器端编程语言(专业超文本预处理器的缩写)会检查该文件是否已经被包含过,如果是则不会再次包含。需要一次(' bookmark _ fns。PHP’);session _ start();$ old _ user=$ _ SESSION[' valid _ user '];//注销会话变量unset($ _ SESSION[' valid _ user ']);$ result _ dest=session _ destroy();do_html_header('注销');if(!空($old_user)) { if($result_dest) //登出成功{ echo "注销。br/";do_html_URL('login.php ',' log in ');} else //不成功{ echo "无法让您注销br/";} } else { echo '您没有登录,因此也没有登录br/';do_html_URL('login.php ',' log in ');} do _ html _页脚();5.5 change_passwd.php

?php /** *修改数据库中用户密码的表单*///需要一次语句和需要语句完全相同,唯一区别是服务器端编程语言(专业超文本预处理器的缩写)会检查该文件是否已经被包含过,如果是则不会再次包含。需要一次(' bookmark _ fns。PHP’);session _ start();do_html_header('更改密码');//创建变量$ old _ passwd=$ _ POST[' old _ passwd '];$ new _ passwd=$ _ POST[' new _ passwd '];$ new _ passwd 2=$ _ POST[' new _ passwd 2 '];请尝试{ check _ valid _ user();if(!已填写($_POST))抛出新的异常('您没有完全填写表单。请再试一次。);if($new_passwd!=$new_passwd2)引发新异常('输入的密码不相同。没有改变。);if((strlen($ New _ passwd)16)| |(strlen($ New _ passwd)6)){ 0抛出新的异常('新密码必须在6到16个字符之间。再试一次。);} //尝试修改change _ password($ _ SESSION[' valid _ user '],$old_passwd,$ new _ passwd);回应"密码已更改。";} catch(异常$ e){ echo $ e-Getmessage();} display _ user _ menu();do _ html _页脚();5.6忘带_paswd.php

?php /** *重新设置遗忘密码的脚本*///需要一次语句和需要语句完全相同,唯一区别是服务器端编程语言(专业超文本预处理器的缩写)会检查该文件是否已经被包含过,如果是则不会再次包含。需要一次(' bookmark _ fns。PHP’);do_html_header('重置密码');//创建变量$ username=$ _ POST[' username '];尝试{ $ passwd=reset _ password($ username);notify_password($username,$ passwd);回应"您的新密码已通过电子邮件发送给您br/";} catch(异常$e) { echo "无法重置您的密码-请稍后再试。";} do_html_URL('login.php ',' log in ');do _ html _页脚();6、实现书签的存储和检索6.1 add_bms.php

?php /** *添加书签的表单*///需要一次语句和需要语句完全相同,唯一区别是服务器端编程语言(专业超文本预处理器的缩写)会检查该文件是否已经被包含过,如果是则不会再次包含。需要一次(' bookmark _ fns。PHP’);session _ start();//创建变量$ new _ URL=$ _ POST[' new _ URL '];do_html_header('添加书签');请尝试{ check _ valid _ user();//检查用户有效性if(!已填写($new_url)) //检查表单是否填写引发新异常('表单未完全填写');if(strtr($ new _ URL,' http://')===false)$ new _ URL=' http://' .$ new _ urlif(!(@fopen($new_url,' r ')//可以调用fopen()函数打开网址,如果能打开这个文件,则假定统一资源定位器是有效的引发新异常('不是有效的网址');add _ BM($ new _ URL);//将统一资源定位器添加到数据库中回声'书签已添加;if($ URL _ array=get _ user _ URL($ _ SESSION[' valid _ user ']))display _ user _ URL($ URL _ array);} catch(异常$ e){ echo $ e-Getmessage();} display _ user _ menu();do _ html _页脚();6.2 delete_bms.php

?php /** *从用户的书签列表中删除选定书签的脚本呢*///需要一次语句和需要语句完全相同,唯一区别是服务器端编程语言(专业超文本预处理器的缩写)会检查该文件是否已经被包含过,如果是则不会再次包含。需要一次(' bookmark _ fns。PHP’);session _ start();//创建变量$ del _ me=@ $ _ POST[' del _ me '];$ valid _ user=$ _ SESSION[' valid _ user '];do_html_header('删除书签');check _ valid _ user();if(!已填写($ del _ me))/{ echo ' pYou尚未选择任何要删除的书签br/请重试/p ';display _ user _ menu();do _ html _页脚();退出;} else { if(count($ del _ me)0){ foreach($ del _ me as $ URL){ if(delete _ BM($ valid _ user,$url)) { echo 'Deleted ' .htmlspecialchars($url), br/';} else { echo '无法删除。htmlspecialchars($url), br/';} } } else { echo "没有选择要删除的书签";} } if($ URL _ array=get _ user _ URL($ valid _ user)){ display _ user _ URL($ URL _ array);} display _ user _ menu();do _ html _页脚();6.3 recommend.php

?php /** *基于用户以前的操作,推荐用户可能感兴趣的书签*///需要一次语句和需要语句完全相同,唯一区别是服务器端编程语言(专业超文本预处理器的缩写)会检查该文件是否已经被包含过,如果是则不会再次包含。需要一次(' bookmark _ fns。PHP’);session _ start();do_html_header('推荐网址');请尝试{ check _ valid _ user();$ URL=推荐_ URL($ _ SESSION[' valid _ user ']);显示_推荐_ URL($ URL);} catch(异常$ e){ echo $ e-Getmessage();} display _ user _ menu();do _ html _页脚();以上就是服务器端编程语言(专业超文本预处理器的缩写)在线书签系统的详细代码,希望对大家的学习有所帮助。

更多资讯
游戏推荐
更多+