PHP 온라인 책 갈피 시스템 공유
12545 단어 PHP온라인 책 갈피 시스템
1.수요 분석
우선 모든 사용 자 를 식별 해 야 한다.검증 메커니즘 이 있어 야 한다.
그 다음으로 한 사용자 의 책 갈 피 를 저장 해 야 합 니 다.사용 자 는 책 갈 피 를 추가 하고 삭제 할 수 있어 야 합 니 다.
또한,그들 에 대한 이해 에 따라 사용자 에 게 관심 이 있 을 수 있 는 사 이 트 를 건의 해 야 합 니 다.
2.해결 방안
2.1 시스템 흐름 도
2.2 PHP 북 마크 의 파일 목록
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'); //
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 온라인 책 갈피 시스템 의 상세 한 코드 입 니 다.여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.