PHP 온라인 책 갈피 시스템 공유

본 고 는 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 온라인 책 갈피 시스템 의 상세 한 코드 입 니 다.여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기