php shopping_php实现购物车功能(下)

7、实现一个管理界面

9f86de1ac45e9e2416ce33ffba597632.png

登录界面

由以下代码实现:

7.1 admin.php

/**

* @author switch

* @copyright 2015

* 主管理菜单

*/

//require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含。

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 "

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("Administration");

if(check_admin_user())

{

display_admin_menu();

}

else

{

echo "

You are not authorized to enter the administration area.

";

do_html_URL('login.php','Login');

}

do_html_footer();

?>

7.2 user_auth_fns.php文件中的函数login()

function login($username,$password) //登录

{

$conn = db_connect(); //连接数据库

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文件中的函数check_admin_user()

function check_admin_user() //检查是否是管理员

{

if(isset($_SESSION['admin_user']))

return true;

else

return false;

}

c9f297066ba7fc32a42df3b01591830f.png

管理主界面

由以下代码实现:

7.4 output_fns.php文件中的函数display_admin_menu()

function display_admin_menu() //输出管理员菜单

{

?>

Go to main site

Add a new category

Add a new book

Change admin password

}

function display_button($target,$image,$alt) //显示按钮

{

echo "

";

}

5fe010e8d7398246619945094f54fdea.png

目录添加

1cddfbb7b40a5d1c715c34b96923c0fe.png

目录添加成功

6f88d6c7cbe6f8aef7a2675770cd5692.png

目录页中可以看出多了Novel目录

由以下代码实现:

7.5 insert_category_form.php

/**

* @author switch

* @copyright 2015

* 允许管理员向数据库中添加一个目录的表格

*/

//require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含

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 "

You are not authorized to enter the administation area.

";

}

do_html_footer();

?>

7.6 insert_category.php

/**

* @author switch

* @copyright 2015

* 向数据库中插入新目录

*/

//require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含

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 "

Category \"". $catname ."\" was added to the database.

";

}

else

{

echo "

Category \"". $catname ."\" could not be added to the database.

";

}

}

else

{

echo "

You have not filled out the form. Please try again.

";

}

do_html_URL("admin.php","Back to administration menu");

}

else

{

echo "

You are not authorised to view this page.

";

}

do_html_footer();

?>

8f749e2c05d92452c4835775520540e0.png

管理员目录界面

9c28883e23ee5938d358ec5a68d27054.png

目录编辑界面-可更新,删除

706112fc438df5b5f672114ca0b5fd8b.png

目录更新成功

2b469233d3cee96b8114aeeb4809b1be.png

目录主界面可以看到该目录更改成功

由以下代码实现:

7.7 edit_category_form.php

/**

* @author switch

* @copyright 2015

* 管理员编辑目录的表单

*/

//require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含。

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 "

Could not retrieve category details.

";

}

do_html_URL("admin.php","Back to administration menu");

}

else

{

echo "

You are not authorized to enter the administration area.

";

}

do_html_footer();

?>

7.8 edit_category.php

/**

* @author switch

* @copyright 2015

* 更新数据库中的目录

*/

//require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含。

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 "

Category was updated.

";

}

else

{

echo "

Category could not be updated.

";

}

}

else

{

echo "

you have not filled out the form. Please try again.

";

}

do_html_URL("admin.php","Back to administration menu");

}

else

{

echo "

You are not authorised to view this page.

";

}

do_html_footer();

?>

7.9 admin_fns.php

/**

* @author switch

* @copyright 2015

* 管理脚本使用的函数集合

*/

function display_category_form($category = '') //显示目录表单

{

//如果传入存在目录,进入编辑模式

$edit = is_array($category);

?>

Category Name:
align="center">

if($edit)

{

echo "";

}

?>

if($edit) //允许删除存在目录

{

echo "

";

}

?>

}

function display_book_form($book = '') //显示图书表单

{

//如果传入图书存在,进入编辑模式

$edit = is_array($book);

?>

ISBN:
Book Title:
Book Author:
Category:

$cat_array = get_categories();

foreach($cat_array as $thiscat)

{

echo "

if(($edit) && ($thiscat['catid'] == $book['catid']))

{

echo " selected";

}

echo ">". $thiscat['catname'] ."

";

}

?>

Price:
Description:<?php echo $edit ? $book['description'] : ''; ?>
align="center">

if ($edit)

echo "";?>

if ($edit)

{

echo "

";

}

?>

}

function display_password_form() //显示更改密码表单

{

?>

Old password:
New password:
Repeat new password:

}

function insert_category($catname) //目录插入

{

$conn = db_connect(); //数据库连接

$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(); //连接数据库

$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(); //连接数据库

$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(); //连接数据库

$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(); //连接数据库

$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(); //连接数据库

$query = "delete from books

where isbn='". $isbn ."'";

$result = @$conn ->query($query);

if(!$result)

return false;

else

return true;

}

?>

7.10 目录删除操作,图书添加,更新,删除操作基本与上述操作差不多,这里就不在演示,可以下载代码查看

8、扩展

本项目创建了一个相当简单的PHP购物车系统。我们还可以对它进行许多改进和提高:

在真正的在线商店,可能必须建立一些订单记录和实施系统——在这个系统中,用户无法看到已经预定了的订单。

顾客希望在不必与我们联系的前提下就能检查到他们的订单处理情况。用户应当可以通过一种身份验证方式使之能够查看自己以前的订单,并且也可以将操作与个人情况紧密地结合起来。也更方便我们收集一些用户习惯信息。

图书的图片可以通过FTP之类的服务传输到该网站的图像目录并给它们取一个合适的名字。可以把文件上载到图片插入页,以使该操作方便一些。

可以添加用户登录、个性化设置以及书目推荐、在线评论、会员制度、库存级别检查等。可以添加的功能是非常多的。

以上就是php实现购物车功能的全部代码,希望对大家的学习有所帮助。

源码下载:购物车

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值