亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP在線書簽系統分享

2020-03-22 17:43:51
字體:
來源:轉載
供稿:網友
本文為大家分享了PHP在線書簽系統,感興趣的小伙伴們可以參考一下1、需求分析
首先,需要識別每個用戶。應該有驗證機制。
其次,需要保存單個用戶的書簽。用戶應該能夠添加和刪除書簽。
再次,需要根據對他們的了解,向用戶建議他們可能感興趣的站點。2、解決方案
2.1 系統流程圖2.2 PHPbookmark中的文件列表
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, delete on bookmarks.* to bm_user@localhost identified by 'password'; 4、實現基本的網站
4.1 login.php
php * 包含系統登錄表單的頁面 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); //html' target='_blank'>應用程序的包含文件集合 do_html_header(''); //HTML標題 display_site_info();//HTML站點信息 display_login_form();//HTML登錄信息 do_html_footer(); //HTML頁腳 4.2 bookmark_fns.php
php * 應用程序的包含文件集合 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('data_valid_fns.php'); //確認用戶輸入數據有效的函數 require_once('db_fns.php'); // 連接數據庫的函數 require_once('user_auth_fns.php'); //用戶身份驗證的函數 require_once('output_fns.php'); //以HTML形式格式化輸出的函數 require_once('url_fns.php'); //增加和刪除書簽的函數 5、實現用戶身份驗證
5.1 register_form.php
php * 系統中用戶注冊表單 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); do_html_header('User Registration'); //HTML標題 display_registeration_form(); //輸出注冊表單 do_html_footer(); //HTML頁腳 5.2 register_new.php
php * 處理新注冊信息的腳本 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); //創建變量 $email = $_POST['email']; $username = $_POST['username']; $passwd = $_POST['passwd']; $passwd2 = $_POST['passwd2']; //開啟會話 session_start(); try //檢查表單是否填寫滿 if(!filled_out($_POST)) throw new exception('You have not filled the form out correctly - please go back and try again.'); //檢查郵件地址是否有效 if(!valid_email($email)) throw new exception('That is not a vald email address. Please go back try again.'); //檢查兩次輸入密碼是否相同 if($passwd != $passwd2) throw new exception('The passwords you entered do not match - please go back try again.'); //檢查密碼長度是否合格 if((strlen($passwd) 6) || (strlen($passwd) 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
php * 用戶的主頁面,包含該用戶所有的當前書簽 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); session_start(); //創建變量 $username = @$_POST['username']; $passwd = @$_POST['passwd']; if($username && $passwd) try login($username,$passwd); //如果該用戶在數據庫中,則注冊會話變量 $_SESSION['valid_user'] = $username; catch(exception $e) //登錄不成功 do_html_header('Problem:'); echo 'You could not be logged in. You must be logged in to view this page.'; do_html_URL('login.php','Login'); do_html_footer(); exit; do_html_header('Home'); check_valid_user(); //獲取用戶的書簽 if($url_array = get_user_urls($_SESSION['valid_user'])) display_user_urls($url_array); //獲取用戶菜單選項 display_user_menu(); do_html_footer(); 5.4 logout.php
php * 將用戶注銷的腳本 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); session_start(); $old_user = $_SESSION['valid_user']; //注銷會話變量 unset($_SESSION['valid_user']); $result_dest = session_destroy(); do_html_header('Logging Out'); if(!empty($old_user)) if($result_dest) //登出成功 echo 'Logged out. br / do_html_URL('login.php','Login'); else //不成功 echo 'Could not log you out. br / else echo 'You were not logged in, and so have not been logged ot. br / do_html_URL('login.php','Login'); do_html_footer(); 5.5 change_passwd.php
php * 修改數據庫中用戶密碼的表單 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); session_start(); do_html_header('Changing password'); //創建變量 $old_passwd = $_POST['old_passwd']; $new_passwd = $_POST['new_passwd']; $new_passwd2 = $_POST['new_passwd2']; try check_valid_user(); if(!filled_out($_POST)) throw new exception('You have not filled out the form completely.Please try again.'); if($new_passwd != $new_passwd2) throw new exception('Passwords entered were not the same. Not changed.'); if((strlen($new_passwd) 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
php * 重新設置遺忘密碼的腳本 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); do_html_header("Resetting password"); //創建變量 $username = $_POST['username']; try $passwd = reset_password($username); notify_password($username,$passwd); echo 'Your new password has been emailed to you. br / 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
php * 添加書簽的表單 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); session_start(); //創建變量 $new_url = $_POST['new_url']; do_html_header('Adding bookmarks'); try check_valid_user(); //檢查用戶有效性 if(!filled_out($new_url)) //檢查表單是否填寫 throw new exception('Form not completely filled out.'); if(strstr($new_url,'http://') === false) $new_url = 'http://'. $new_url; if(!(@fopen($new_url,'r'))) //可以調用fopen()函數打開URL,如果能打開這個文件,則假定URL是有效的 throw new exception('Not a valid URL.'); add_bm($new_url); //將URL添加到數據庫中 echo 'Bookmark added.'; if($url_array = get_user_urls($_SESSION['valid_user'])) display_user_urls($url_array); catch(exception $e) echo $e - getMessage(); display_user_menu(); do_html_footer(); 6.2 delete_bms.php
php * 從用戶的書簽列表中刪除選定書簽的腳本呢 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); session_start(); //創建變量 $del_me = @$_POST['del_me']; $valid_user = $_SESSION['valid_user']; do_html_header('Deleting bookmarks'); check_valid_user(); if(!filled_out($del_me)) // echo ' p You have not chosen any bookmarks to delete. br / Please try again. /p 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) .'. br / else echo 'Could not delete '. htmlspecialchars($url) .'. br / 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
php * 基于用戶以前的操作,推薦用戶可能感興趣的書簽 //require_once語句和require語句完全相同,唯一區別是PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。 require_once('bookmark_fns.php'); session_start(); do_html_header('Recommending URLs'); try check_valid_user(); $urls = recommend_urls($_SESSION['valid_user']); display_recommended_urls($urls); catch(exception $e) echo $e - getMessage(); display_user_menu(); do_html_footer(); 以上就是PHP在線書簽系統的詳細代碼,希望對大家的學習有所幫助。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费精品视频| 亚洲午夜精品久久久久久性色| 亚洲日本成人女熟在线观看| 日韩精品久久久久久久玫瑰园| 国产精品黄色影片导航在线观看| 国产视频观看一区| 狠狠色狠狠色综合日日小说| 日韩欧中文字幕| 亚洲影视九九影院在线观看| 国产一区二区三区网站| 日韩在线观看免费av| www国产亚洲精品久久网站| 日本成人激情视频| 欧美一区二区三区精品电影| 久久久久一本一区二区青青蜜月| 国产va免费精品高清在线观看| 国产精品久久久久久久av电影| 最近2019中文免费高清视频观看www99| 夜夜嗨av一区二区三区四区| 欧美亚洲视频在线看网址| 精品国产户外野外| 美女av一区二区| 狠狠做深爱婷婷久久综合一区| 日日噜噜噜夜夜爽亚洲精品| 日韩黄色高清视频| 国产视频综合在线| 欧美精品18videos性欧| 欧美日韩国产麻豆| 欧美成人免费网| 性欧美亚洲xxxx乳在线观看| 欧美乱大交xxxxx另类电影| 久久久久久91| 亚洲成人国产精品| 成人福利网站在线观看| 美女少妇精品视频| 九九九久久久久久| 日本一区二三区好的精华液| 久久国产精品偷| 黑人巨大精品欧美一区二区三区| 日韩激情第一页| 欧美日本高清一区| 亚洲国产精品va在线看黑人| 久久久亚洲网站| 亚洲精品电影网在线观看| 欧美二区乱c黑人| 亚洲人成绝费网站色www| www.久久久久久.com| 国产噜噜噜噜噜久久久久久久久| 欧美黄色成人网| 亚洲自拍小视频免费观看| 97视频在线观看免费高清完整版在线观看| 热re99久久精品国产66热| 精品无人区乱码1区2区3区在线| 国产视频在线一区二区| 97视频在线免费观看| 91中文字幕一区| 国产精品一区专区欧美日韩| 日本精品视频网站| 亚洲香蕉成人av网站在线观看| 69久久夜色精品国产69乱青草| 欧美华人在线视频| 91精品国产综合久久久久久久久| 欧美中文在线免费| 亚洲美女精品成人在线视频| 日韩在线观看免费高清| 亚洲国产精品久久久久秋霞不卡| 精品亚洲一区二区三区在线播放| 精品成人乱色一区二区| 91福利视频网| 91在线精品播放| 国产精品麻豆va在线播放| 91久久精品国产| 日韩精品在线视频观看| 亚洲男人第一av网站| 欧美第一淫aaasss性| 久久久久久久久久国产| 国产精品久久久久久亚洲影视| 欧美一级免费看| 北条麻妃久久精品| 国产精品青青在线观看爽香蕉| 久久综合色88| 欧美夫妻性生活xx| 成人黄色在线播放| 国产精品jizz在线观看麻豆| 欧美极度另类性三渗透| 欧美片一区二区三区| 欧美www视频在线观看| 亚洲女人初尝黑人巨大| 国内精品伊人久久| 亚洲一区二区久久久久久| 欧美日韩亚洲网| 黄网站色欧美视频| 欧洲美女7788成人免费视频| 日韩精品免费综合视频在线播放| 亚洲精品一区二区三区不| 中文字幕日韩欧美在线| 91av在线播放| 亚洲已满18点击进入在线看片| 亚洲美女中文字幕| 国产婷婷成人久久av免费高清| 国产一区二区免费| 中文字幕亚洲字幕| 国产91精品久久久久| 亚洲第一男人av| 2020欧美日韩在线视频| www亚洲精品| 久久免费精品日本久久中文字幕| 国产精品入口日韩视频大尺度| 欧美俄罗斯乱妇| 国产成人精品午夜| 欧美一级免费看| 亚洲福利视频在线| 97精品国产97久久久久久春色| 欧美日韩激情视频| 中文字幕日韩高清| 欧美极度另类性三渗透| 欧美日韩福利视频| 一区二区三区四区视频| 久久亚洲春色中文字幕| 欧美日韩一区二区三区在线免费观看| 亚洲高清福利视频| 国产中文字幕日韩| 日韩一区在线视频| 一区二区三区www| 北条麻妃99精品青青久久| 国产丝袜精品第一页| 久久久久久久久国产| 国产97在线视频| 欧美男插女视频| 亚洲精品视频播放| 欧美中文在线观看国产| 国内精品视频久久| 久久精品色欧美aⅴ一区二区| 国产精品久久久久久久app| 欧美日韩电影在线观看| 成人午夜高潮视频| 亚洲欧洲一区二区三区在线观看| 欧美精品video| 久久久精品免费视频| 日韩精品视频免费在线观看| 久久亚洲国产精品成人av秋霞| 国产欧美精品日韩精品| 日韩视频精品在线| 国内精品久久久久久久| 国内精品模特av私拍在线观看| 成人免费大片黄在线播放| 精品久久久久久亚洲国产300| 91丝袜美腿美女视频网站| 26uuu国产精品视频| 欧美在线性视频| 中文字幕久久亚洲| 色综合久综合久久综合久鬼88| 国产精品久在线观看| 欧美一级大片在线观看| 国产精品视频免费在线观看| 日韩有码在线视频| 国产精品极品美女在线观看免费| 国产精品久久久久久久久久免费| 国产欧美一区二区三区久久| 久久久久久亚洲精品中文字幕| 亚洲视频在线观看免费| xvideos亚洲人网站| 亚洲成人免费在线视频| 久久天天躁夜夜躁狠狠躁2022|