• 前端PHP Session的实例


    登陆例子:(请注意一定要自己敲一遍,不要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. <metacharset="utf-8">
    23. </head>
    24. <body>
    25. <formaction=""method="POST">
    26. <div>
    27. 用户名:<inputtype="text"name="username"/>
    28. 密 码:<inputtype="text"name="password"/>
    29. <inputtype="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. <metahttp-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. <ahref="shoppingCart.php">查看购物车</a>
    32. </body>
    33. </html>

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

    1. <html>
    2. <head>
    3. <metahttp-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. <metahttp-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. <ahref="goodsList.php">返回商品列表</a>
    17. </body>
    18. </html>

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

  • 相关阅读:
    信号之可重入函数
    信号的发送
    守护进程详解以及start-stop-daemon命令
    信号基本概念
    常用进程调度算法(转)
    malloc/free与new/delete的区别(转)
    IP地址转换
    exec系列函数详解
    fork函数拓展
    leetcode第156场周赛5205
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/6661255.html
Copyright © 2020-2023  润新知