码迷,mamicode.com
首页 > 其他好文 > 详细

前端入门-035-Session的实例

时间:2016-08-09 08:10:25      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:

登陆例子:(请注意一定要自己敲一遍,不要CV大法)
首先上一下成果图,激起同学们写的欲望,登录页如下:
技术分享
点击登陆之后如下:


技术分享说明哦了,么问题。接下来自己实现一下。

首先数据库信息
新建一个名为 login 的数据库,再建一个 user 表,表的结构如下图:

技术分享然后开始编码。

login.php代码

  1. <?php
  2. session_start();
  3. if ( ( $_POST[‘username‘] != null ) && ( $_POST[‘password‘] != null ) ) {
  4. $userName = $_POST[‘username‘];
  5. $password = $_POST[‘password‘];
  6. //从db获取用户信息 数据库信息改成自己的
  7. $conn = mysqli_connect(‘host‘,‘username‘,‘password‘,‘login‘);
  8. $res = mysqli_query($conn,"select * from user where `username` = ‘$userName‘ ");
  9. $row = mysqli_fetch_assoc($res);
  10. if ($row[‘passwd‘] == $password) {
  11. //密码验证通过,设置session,把用户名和密码保存在服务端
  12. $_SESSION[‘userName‘] = $userName;
  13. $_SESSION[‘password‘] = $password;
  14. //最后跳转到登录后的欢迎页面 //注意:这里我们没有像cookie一样带参数过去
  15. header(‘Location: welcome.php‘);
  16. }
  17. }
  18. ?>
  19. <html>
  20. <head>
  21. <!-- 这里指明页面编码 -->
  22. <meta charset="utf-8">
  23. </head>
  24. <body>
  25. <form action="" method="POST">
  26. <div>
  27. 用户名:<input type="text" name="username" />
  28. 密 码:<input type="text" name="password" />
  29. <input type="submit" value="登录">
  30. </div>
  31. </form>
  32. </body>
  33. </html>

welcome.php 这里我们用的是session中的信息,而不是像cookie一样在url中带参数过来

  1. <?php
  2. session_start();
  3. $userName = $_SESSION[‘userName‘];
  4. ?>
  5. <html>
  6. <head>
  7. </head>
  8. <body>
  9. welcome,<?php echo $userName;?>
  10. </body>
  11. </html>

购物车的例子:(请注意一定要自己敲一遍,不要CV大法)
数据库信息:建立名为test的数据库,库中有个shop表,表结构如下图:
技术分享

开始编码吧!

goodsList.php 这个是商品展示页,效果图如下:
技术分享
说明一下,如果是第一次购买某物品,则在购物车中加入该商品信息和计算总价,如果再次点击购买,则已购商品数量加1,总价重新计算,查看购物车链接可以到购物车页面。

  1. <?php
  2. $goods = array();
  3. //从数据库获取商品信息存入$goods二维数组
  4. $i = 0;
  5. //这里请换上自己的数据库相关信息
  6. mysqli_connect(‘host‘,‘username‘,‘password‘,‘test‘);
  7. $res = mysqli_query($conn,‘select * from shop‘);
  8. //这里把商品信息放到$goods二维数组,每一维存的是单个
  9. //商品的信息,比如商品名、价格。
  10. while ($row = mysqli_fetch_assoc($res)) {
  11. $goods[$i][‘id‘] = $row[‘id‘];
  12. $goods[$i][‘name‘] = $row[‘name‘];
  13. $goods[$i][‘price‘] = $row[‘price‘];
  14. $i++ ;
  15. }
  16. ?>
  17. <!DOCTYPE html>
  18. <html>
  19. <head>
  20. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  21. </head>
  22. <body>
  23. <?php
  24. //取出商品信息显示在页面上,并添加购买功能
  25. foreach ($goods as $value) {
  26. echo ‘ 商品名 ‘ . $value[‘name‘] . ‘ 价格 ‘ . $value[‘price‘];
  27. echo "<a href=buy.php?name=" . $value[‘name‘] . ‘&price=‘ . $value[‘price‘] .">购买</a>";
  28. echo ‘<br />‘;
  29. }
  30. ?>
  31. <a href="shoppingCart.php">查看购物车</a>
  32. </body>
  33. </html>

buy.php 此页完成购买功能,然后再次跳转到商品列表。主要是做了在session中处理购买商品操作。

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  4. </head>
  5. <body>
  6. <?php
  7. //开启session
  8. session_start();
  9. //获取传过来的商品名和价格
  10. $name = $_GET[‘name‘];
  11. $price = $_GET[‘price‘];
  12. //把session中的商品信息和传过来的(刚买的)商品信息对比
  13. $goods = $_SESSION[‘goods‘];
  14. if ($name == $goods[$name][‘name‘]) {
  15. //买过的话,则总价格增加,相应商品数量增加
  16. $_SESSION[‘totalPrice‘] += $price;
  17. $goods[$name][‘number‘] += 1;
  18. } else {
  19. //第一次买的话,将相应的商品信息添加到session中
  20. $goods[$name][‘name‘] = $name;
  21. $goods[$name][‘price‘] = $price;
  22. $goods[$name][‘number‘] += 1;
  23. $_SESSION[‘totalPrice‘] += $price;
  24. }
  25. $_SESSION[‘goods‘] = $goods;
  26. //购买处理完毕后跳转到商品列表
  27. header(‘location: goodsList.php‘);
  28. ?>
  29. </body>
  30. </html>

shoppingCart.php 此页展示购物车中的商品、价格、总价等信息。

效果图如下:
技术分享

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  4. </head>
  5. <body>
  6. <?php
  7. session_start();
  8. //将session中的商品信息(即购物车中的商品)和总价显示到页面
  9. $goods = $_SESSION[‘goods‘];
  10. echo ‘您买了:<br />‘;
  11. foreach ($goods as $value) {
  12. echo $value[‘name‘] . ‘ 价格 ‘ . $value[‘price‘] . ‘ 数量 ‘ . $value[‘number‘] . ‘<br />‘;
  13. }
  14. echo ‘总价:‘ . $_SESSION[‘totalPrice‘] . ‘<br />‘;
  15. ?>
  16. <a href="goodsList.php">返回商品列表</a>
  17. </body>
  18. </html>

购物车的例子完成了,自己亲自完成一遍后是不是很有成就感!!你很厉害!!





前端入门-035-Session的实例

标签:

原文地址:http://www.cnblogs.com/pangxiansheng/p/c2807e3a545230d87a1dfcaa398c2c9f.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!