欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實現(xiàn)購物車功能(下)

 更新時間:2016年01月05日 17:10:28   作者:Switch_vov  
這篇文章主要介紹了php實現(xiàn)購物車功能的全部代碼,提出了需求分析、解決方案、數(shù)據(jù)庫的創(chuàng)建,幫助大家輕輕松松實現(xiàn)購物車功能,感興趣的小伙伴們可以參考一下

接著上篇繼續(xù)學(xué)習(xí): 《php實現(xiàn)購物車的功能(上)》

7、實現(xiàn)一個管理界面


登錄界面

由以下代碼實現(xiàn):
7.1 admin.php

<?php 
 
/** 
 * @author switch 
 * @copyright 2015 
 * 主管理菜單 
 */ 
 //require_once語句和require語句完全相同,唯一區(qū)別是PHP會檢查該文件是否已經(jīng)被包含過,如果是則不會再次包含。 
 require_once('book_sc_fns.php'); 
 
 session_start(); 
 
 if((@$_POST['username']) && (@$_POST['passwd'])) //嘗試登陸 
 { 
 $username = $_POST['username']; 
 $passwd = $_POST['passwd']; 
 
 if(login($username,$passwd)) 
 { 
 $_SESSION['admin_user'] = $username; 
 } 
 else 
 { 
 do_html_header("Problem:"); 
 echo "<p>You could not be logged in.<br /> 
  You must be logged in to view this page.</p>"; 
 do_html_URL('login.php','Login'); 
 do_html_footer(); 
 exit; 
 } 
 } 
 
 do_html_header("Administration"); 
 
 if(check_admin_user()) 
 { 
 display_admin_menu(); 
 } 
 else 
 { 
 echo "<p>You are not authorized to enter the administration area.</p>"; 
 do_html_URL('login.php','Login'); 
 } 
 do_html_footer(); 
?> 

7.2 user_auth_fns.php文件中的函數(shù)login()

function login($username,$password) //登錄 
 { 
 $conn = db_connect(); //連接數(shù)據(jù)庫 
 
 if(!$conn) 
 return 0; 
 
 //檢查用戶名唯一性 
 $query = "select * from admin where username='". $username ."' 
  and password = sha1('". $password ."')"; 
 $result = $conn ->query($query); 
 
 if(!$result) 
 return 0; 
 
 if($result ->num_rows > 0) 
 return 1; 
 else 
 return 0; 
 } 

7.3 user_auth_fns.php文件中的函數(shù)check_admin_user()

function check_admin_user() //檢查是否是管理員 
 { 
 if(isset($_SESSION['admin_user'])) 
 return true; 
 else 
 return false; 
 } 

管理主界面

由以下代碼實現(xiàn):

7.4 output_fns.php文件中的函數(shù)display_admin_menu()

function display_admin_menu() //輸出管理員菜單 
 { 
 ?> 
 <br /> 
 <a href="index.php">Go to main site</a><br /> 
 <a href="insert_category_form.php">Add a new category</a><br /> 
 <a href="insert_book_form.php">Add a new book</a><br /> 
 <a href="change_password_form.php">Change admin password</a><br /> 
 <?php 
 } 
 
 function display_button($target,$image,$alt) //顯示按鈕 
 { 
 echo "<div align= \" center \"><a href=\"". $target ."\"> 
 <img src=\"images/". $image .".gif\" 
 alt=\"". $alt ."\" border = \" 0 \" height = \" 50 \" 
 width = \" 135 \" /></a></div>"; 
 } 



目錄添加
目錄添加成功
目錄頁中可以看出多了Novel目錄

由以下代碼實現(xiàn):
7.5 insert_category_form.php

<?php 
 
/** 
 * @author switch 
 * @copyright 2015 
 * 允許管理員向數(shù)據(jù)庫中添加一個目錄的表格 
 */ 
 //require_once語句和require語句完全相同,唯一區(qū)別是PHP會檢查該文件是否已經(jīng)被包含過,如果是則不會再次包含 
 require_once('book_sc_fns.php'); 
 session_start(); 
 
 do_html_header(); 
 if(check_admin_user()) 
 { 
 display_category_form(); 
 do_html_URL("admin.php","Back to administrtion menu"); 
 } 
 else 
 { 
 echo "<p>You are not authorized to enter the administation area.</p>"; 
 } 
 do_html_footer(); 
?> 

7.6 insert_category.php

<?php 
 
/** 
 * @author switch 
 * @copyright 2015 
 * 向數(shù)據(jù)庫中插入新目錄 
 */ 
 //require_once語句和require語句完全相同,唯一區(qū)別是PHP會檢查該文件是否已經(jīng)被包含過,如果是則不會再次包含 
 require_once('book_sc_fns.php'); 
 session_start(); 
 
 do_html_header("Adding a category"); 
 if(check_admin_user()) 
 { 
 if(filled_out($_POST)) 
 { 
 $catname =$_POST['catname']; 
 if(insert_category($catname)) 
 { 
 echo "<p>Category \"". $catname ."\" was added to the database.</p>"; 
 } 
 else 
 { 
 echo "<p>Category \"". $catname ."\" could not be added to the database.</p>"; 
 } 
 } 
 else 
 { 
 echo "<p>You have not filled out the form. Please try again.</p>"; 
 } 
 do_html_URL("admin.php","Back to administration menu"); 
 } 
 else 
 { 
 echo "<p>You are not authorised to view this page.</p>"; 
 } 
 do_html_footer(); 
?> 

管理員目錄界面


目錄編輯界面-可更新,刪除


目錄更新成功


目錄主界面可以看到該目錄更改成功

由以下代碼實現(xiàn):
7.7 edit_category_form.php

<?php 
 
/** 
 * @author switch 
 * @copyright 2015 
 * 管理員編輯目錄的表單 
 */ 
 //require_once語句和require語句完全相同,唯一區(qū)別是PHP會檢查該文件是否已經(jīng)被包含過,如果是則不會再次包含。 
 require_once('book_sc_fns.php'); 
 session_start(); 
 
 do_html_header("Edit category"); 
 if(check_admin_user()) 
 { 
 if($catname = get_category_name($_GET['catid'])) 
 { 
 $catid = $_GET['catid']; 
 $cat = compact('catname','catid'); 
 display_category_form($cat); 
 } 
 else 
 { 
 echo "<p>Could not retrieve category details.</p>"; 
 } 
 do_html_URL("admin.php","Back to administration menu"); 
 } 
 else 
 { 
 echo "<p>You are not authorized to enter the administration area.</p>"; 
 } 
 do_html_footer(); 
?> 

7.8 edit_category.php

<?php 
 
/** 
 * @author switch 
 * @copyright 2015 
 * 更新數(shù)據(jù)庫中的目錄 
 */ 
 //require_once語句和require語句完全相同,唯一區(qū)別是PHP會檢查該文件是否已經(jīng)被包含過,如果是則不會再次包含。 
 require_once('book_sc_fns.php'); 
 session_start(); 
 
 do_html_header("Updating category"); 
 if(check_admin_user()) 
 { 
 if(filled_out($_POST)) 
 { 
 if(update_category($_POST['catid'],$_POST['catname'])) 
 { 
 echo "<p>Category was updated.</p>"; 
 } 
 else 
 { 
 echo "<p>Category could not be updated.</p>"; 
 } 
 } 
 else 
 { 
 echo "<p>you have not filled out the form. Please try again.</p>"; 
 } 
 do_html_URL("admin.php","Back to administration menu"); 
 } 
 else 
 { 
 echo "<p>You are not authorised to view this page.</p>"; 
 } 
 do_html_footer(); 
?> 

7.9 admin_fns.php

<?php 
 
/** 
 * @author switch 
 * @copyright 2015 
 * 管理腳本使用的函數(shù)集合 
 */ 
 function display_category_form($category = '') //顯示目錄表單 
 { 
 //如果傳入存在目錄,進入編輯模式 
 $edit = is_array($category); 
 ?> 
 <form method="post" action="<?php echo $edit ? 'edit_category.php' :'insert_category.php'; ?>"> 
 <table border="0"> 
  <tr> 
  <td>Category Name:</td> 
  <td><input type="text" name="catname" size="40" maxlength="40" value="<?php echo $edit ? $category['catname'] : ''; ?>"/></td> 
  </tr> 
  <tr> 
  <td <?php if(!$edit){echo "colspan=2";} ?> align="center"> 
  <?php 
  if($edit) 
  { 
   echo "<input type=\"hidden\" name=\"catid\" value=\"". $category['catid'] ."\" />"; 
  } 
  ?> 
  <input type="submit" value="<?php echo $edit ? 'Update' : 'Add'; ?> Category"/></form> 
  </td> 
  <?php 
  if($edit) //允許刪除存在目錄 
  { 
  echo "<td> 
   <form method=\"post\" action=\"delete_category.php\"> 
   <input type=\"hidden\" name=\"catid\" value=\"". $category['catid'] ."\" /> 
   <input type=\"submit\" value=\"Delete category\" /> 
   </form></td>"; 
  } 
  ?> 
  </tr> 
 </table> 
 <?php 
 } 
 
 function display_book_form($book = '') //顯示圖書表單 
 { 
 //如果傳入圖書存在,進入編輯模式 
 $edit = is_array($book); 
 ?> 
 
 <form method="post" action="<?php echo $edit ? 'edit_book.php' : 'insert_book.php'; ?>"> 
 <table border="0"> 
 <tr> 
  <td>ISBN:</td> 
  <td><input type="text" name="isbn" value="<?php echo $edit ? $book['isbn'] : ''; ?>" /></td> 
 </tr> 
 <tr> 
  <td>Book Title:</td> 
  <td><input type="text" name="title" value="<?php echo $edit ? $book['title'] : ''; ?>" /></td> 
 </tr> 
 <tr> 
  <td>Book Author:</td> 
  <td><input type="text" name="author" value="<?php echo $edit ? $book['author'] : ''; ?>"/></td> 
 </tr> 
 <tr> 
  <td>Category:</td> 
  <td> 
  <select name="catid"> 
  <?php 
  $cat_array = get_categories(); 
  foreach($cat_array as $thiscat) 
  { 
   echo "<option value=\"". $thiscat['catid'] ."\""; 
   if(($edit) && ($thiscat['catid'] == $book['catid'])) 
   { 
   echo " selected"; 
   } 
   echo ">". $thiscat['catname'] ."</option>"; 
  } 
  ?> 
  </select> 
  </td> 
 </tr> 
 <tr> 
  <td>Price:</td> 
  <td><input type="text" name="price" value="<?php echo $edit ? $book['price'] : ''; ?>" /></td> 
 </tr> 
 <tr> 
  <td>Description:</td> 
  <td><textarea rows="3" cols="50" name="description"><?php echo $edit ? $book['description'] : ''; ?></textarea></td> 
 </tr> 
 <tr> 
  <td <?php if (!$edit) { echo "colspan=2"; }?> align="center"> 
  <?php 
  if ($edit) 
  echo "<input type=\"hidden\" name=\"oldisbn\" value=\"".$book['isbn']."\" />";?> 
  <input type="submit" value="<?php echo $edit ? 'Update' : 'Add'; ?> Book" /></form></td> 
  <?php 
  if ($edit) 
  { 
  echo "<td> 
   <form method=\"post\" action=\"delete_book.php\"> 
   <input type=\"hidden\" name=\"isbn\" value=\"".$book['isbn']."\" /> 
   <input type=\"submit\" value=\"Delete book\"/> 
  </form></td>"; 
 
  } 
  ?> 
  </td> 
 </tr> 
 </table> 
 </form> 
 <?php 
 } 
 
 function display_password_form() //顯示更改密碼表單 
 { 
 ?> 
 <br /> 
 <form action="change_password.php" method="post"> 
 <table width="250" cellpadding="2" cellspacing="0" bgcolor="#cccccc"> 
  <tr> 
  <td>Old password:</td> 
  <td><input type="password" name="old_passwd" size="16" maxlength="16"/></td> 
  </tr> 
  <tr> 
  <td>New password:</td> 
  <td><input type="password" name="new_passwd" size="16" maxlength="16"/></td> 
  </tr> 
  <tr> 
  <td>Repeat new password:</td> 
  <td><input type="password" name="new_passwd2" size="16" maxlength="16"/></td> 
  </tr> 
  <tr> 
  <td colspan="2" align="center"><input type="submit" value="Change password"/></td> 
  </tr> 
 </table> 
 </form> 
 <br /> 
 <?php 
 } 
 
 function insert_category($catname) //目錄插入 
 { 
 $conn = db_connect(); //數(shù)據(jù)庫連接 
 
 $query = "select * 
  from categories 
  where catname='". $catname ."'"; 
 $result = $conn ->query($query); 
 if((!$result) || ($result ->num_rows != 0)) 
 return false; 
 
 $query = "insert into categories values 
 ('','". $catname ."')"; 
 $result = $conn ->query($query); 
 if(!$result) 
 return false; 
 else 
 return true; 
 } 
 
 function insert_book($isbn,$title,$author,$catid,$price,$description) //圖書插入 
 { 
 $conn = db_connect(); //連接數(shù)據(jù)庫 
 
 $query = "select * from books 
  where isbn='". $isbn ."'"; 
 $result = $conn ->query($query); 
 if((!$result) || ($result ->num_rows != 0)) 
 return false; 
 
 $query = "insert into books values 
 ('". $isbn ."','". $author ."','". $title ."', 
 '". $catid ."','". $price ."','". $description ."')"; 
 
 
 $result = $conn ->query($query); 
 if(!$result) 
 return false; 
 else 
 return true; 
 } 
 
 function update_category($catid,$catname) //更改目錄名稱 
 { 
 $conn = db_connect(); //連接數(shù)據(jù)庫 
 
 $query = "update categories 
  set catname='". $catname ."' 
  where catid='". $catid ."'"; 
 $result = @$conn ->query($query); 
 if(!$result) 
 return false; 
 else 
 return true; 
 } 
 
 function update_book($oldisbn,$isbn,$title,$author,$catid,$price,$description) 
 { 
 $conn = db_connect(); //連接數(shù)據(jù)庫 
 
 $query = "update books 
  set isbn='". $isbn ."', 
  title='". $title ."', 
  author='". $author ."', 
  catid='". $catid ."', 
  price ='". $price ."', 
  description='". $description ."' 
  where isbn='". $oldisbn ."'"; 
 $result = @$conn ->query($query); 
 if(!$result) 
 return false; 
 else 
 return true; 
 } 
 
 function delete_category($catid) //刪除目錄 
 { 
 $conn = db_connect(); //連接數(shù)據(jù)庫 
 
 $query = "select * 
  from books 
  where catid='". $catid ."'"; 
 $result = @$conn ->query($query); 
 if((!$result) || (@$result ->num_rows > 0)) //如果該目錄有圖書,無法刪除該目錄 
 return false; 
 
 $query = "delete from categories 
  where catid='". $catid ."'"; 
 $result = @$conn ->query($query); 
 if(!$result) 
 return false; 
 else 
 return true; 
 } 
 
 function delete_book($isbn) //刪除圖書 
 { 
 $conn = db_connect(); //連接數(shù)據(jù)庫 
 
 $query = "delete from books 
  where isbn='". $isbn ."'"; 
 $result = @$conn ->query($query); 
 if(!$result) 
 return false; 
 else 
 return true; 
 } 
?>

 7.10 目錄刪除操作,圖書添加,更新,刪除操作基本與上述操作差不多,這里就不在演示,可以下載代碼查看

8、擴展
本項目創(chuàng)建了一個相當(dāng)簡單的PHP購物車系統(tǒng)。我們還可以對它進行許多改進和提高:

  • 在真正的在線商店,可能必須建立一些訂單記錄和實施系統(tǒng)——在這個系統(tǒng)中,用戶無法看到已經(jīng)預(yù)定了的訂單。
  • 顧客希望在不必與我們聯(lián)系的前提下就能檢查到他們的訂單處理情況。用戶應(yīng)當(dāng)可以通過一種身份驗證方式使之能夠查看自己以前的訂單,并且也可以將操作與個人情況緊密地結(jié)合起來。也更方便我們收集一些用戶習(xí)慣信息。
  • 圖書的圖片可以通過FTP之類的服務(wù)傳輸?shù)皆摼W(wǎng)站的圖像目錄并給它們?nèi)∫粋€合適的名字??梢园盐募陷d到圖片插入頁,以使該操作方便一些。
  • 可以添加用戶登錄、個性化設(shè)置以及書目推薦、在線評論、會員制度、庫存級別檢查等。可以添加的功能是非常多的。

以上就是php實現(xiàn)購物車功能的全部代碼,希望對大家的學(xué)習(xí)有所幫助。

源碼下載:購物車

相關(guān)文章

  • PHP SPL標(biāo)準(zhǔn)庫中的常用函數(shù)介紹

    PHP SPL標(biāo)準(zhǔn)庫中的常用函數(shù)介紹

    這篇文章主要介紹了PHP SPL標(biāo)準(zhǔn)庫中的常用函數(shù)介紹,本文著重講解了spl_autoload_extensions()、spl_autoload_register()、spl_autoload()三個函數(shù),需要的朋友可以參考下
    2015-05-05
  • Laravel中如何輕松容易的輸出完整的SQL語句

    Laravel中如何輕松容易的輸出完整的SQL語句

    這篇文章主要給大家介紹了關(guān)于Laravel中如何輕松容易的輸出完整的SQL語句的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • php實現(xiàn)獲取文章內(nèi)容第一張圖片的方法

    php實現(xiàn)獲取文章內(nèi)容第一張圖片的方法

    這篇文章主要介紹了php實現(xiàn)獲取文章內(nèi)容第一張圖片的方法,涉及對正則表達式的操作,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • php設(shè)計模式 Visitor 訪問者模式

    php設(shè)計模式 Visitor 訪問者模式

    表示一個作用于某對象結(jié)構(gòu)中的各元素的操作,可以在不改變各元素的類的前提下定義作用于這些元素的新操作
    2011-06-06
  • 使用php shell命令合并圖片的代碼

    使用php shell命令合并圖片的代碼

    php不僅僅可以用在web環(huán)境下喔,它也是一款很不錯的shell呢,下面的代碼演示如果在shell中使用php合并圖片
    2011-06-06
  • 深入理解PHP中mt_rand()隨機數(shù)的安全

    深入理解PHP中mt_rand()隨機數(shù)的安全

    mt_rand()使用mersennetwister算法返回隨機整數(shù),這個大家都知道,但下面這篇文章主要給大家介紹的是關(guān)于PHP中mt_rand()隨機數(shù)安全的相關(guān)資料,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • php escape URL編碼

    php escape URL編碼

    php提供的URL編碼函數(shù)是基于字節(jié)的,對由ie的javascript函數(shù)escape編碼的數(shù)據(jù)就無能為力了。
    2008-12-12
  • php模板中出現(xiàn)空行解決方法

    php模板中出現(xiàn)空行解決方法

    最近在寫php時,莫名其妙的瀏覽器頭多出一行空行,在網(wǎng)上搜索一下,大致都是把文件保存為非BOM的UTF-8格式
    2011-03-03
  • PHP讀取zip文件的方法示例

    PHP讀取zip文件的方法示例

    這篇文章主要介紹了PHP讀取zip文件的方法,結(jié)合實例形式分析了php針對zip文件的讀取操作相關(guān)技巧,需要的朋友可以參考下
    2016-11-11
  • php遍歷解析xml字符串的方法

    php遍歷解析xml字符串的方法

    這篇文章主要介紹了php遍歷解析xml字符串的方法,涉及php基于SimpleXMLElement類實現(xiàn)對xml文件的讀取、遍歷與解析的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下
    2016-05-05

最新評論