登陆例子:(请注意一定要自己敲一遍,不要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>

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

前端PHP入门-035-Session的实例的更多相关文章

  1. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

  2. PHP之session相关实例教程与经典代码

    ·php 中cookie和session的用法比较 ·phpmyadmin报错:Cannot start session without errors问题 ·php中cookie与session应用学 ...

  3. web前端开发入门全套学习方法路径,兼职在家做网站也能月入上万!

    前端学习路径 1.WEB前端快速入门 在本阶段,我们需要掌握 HTML 与 CSS 基础,当然,也包含 H5 和 C3 的新特性.这个部分内容非常简单,而且非常容易掌握.相信你也更愿意学习这个部分,毕 ...

  4. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  5. WCF会话(Session)与实例(Instance)管理

    一.理解Session 1.Session的作用:保留Client和Service之间交互的状态,确保Client与Service之间交互唯一性(SessionId),即:多个Client同时访问Se ...

  6. 使用 gulp 搭建前端环境入门篇(转载)

    本文转载自: 使用 gulp 搭建前端环境入门篇

  7. Web前端小白入门指迷

    前注:这篇文章首发于我自己创办的服务于校园的技术分享 [西邮 Upper -- 004]Web前端小白入门指迷,写得很用心也就发在这里. 大前端之旅 大前端有很多种,Shell 前端,客户端前端,Ap ...

  8. Web前端JQuery入门实战案例

    前端jquery入门到实战 为什么要学习Jquery?因为生活. 案例: <!DOCTYPE html> <html lang="zh-CN"> <h ...

  9. ASP.NET MVC下实现前端视图页的Session

    在ASP.NET MVC的控制器中可以实现Session处理.如果要在前端视图页实现Session该如何做呢?可以使用window.sessionStorage来做. AlexChittock用jQu ...

  10. 鸿蒙OS前端开发入门指南:网络图片_Image渲染网络图片

    目录: 1.开启明文传输 2.权限申请 3.引入http插件 4.案例展示 5.<鸿蒙OS前端开发入门指南>文章合集 开启明文传输 在config.json配置文件添加如下配置(如果不开启 ...

随机推荐

  1. python3【基础】-and和or的短路逻辑

    1. 表达式只有一个逻辑运算符 python中哪些对象会被当成False,哪些又是True呢? 基本数据类型中的None.任何数值类型中的0.空字符串"",空列表[],空元组()和 ...

  2. nginx原声方法按照每天日志切割保存

    首先配置日志变量,然后配置日志 在/etc/nginx/conf.d/default.conf 配置变量 server{ if ($time_iso8601 ~ "^(\d{4})-(\d{ ...

  3. web项目页面加载时,下拉框有值

    1.我用的框架是springmvc和mybaitis 由于没有整个项目,直接就去请求的action  :http://localhost:8080/ytert/test/selectStoreType ...

  4. tensorflow之曲线拟合

    视频链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/ 1.定义层 定义 add_layer() from __f ...

  5. 读 《我是一只IT小小鸟》 有感

    在没有上大学之前,我很迷茫自己将来要从事什么行业.有人说,人生的每一个阶段都应该有自己的目标,然而,我上大学之前,甚至大一下学期之前,我对于我今后的从业道路,人生规划,都是迷茫的.高考结束成绩出来后, ...

  6. Java package

    Java中的一个包就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在了一起.这个名称空间就是包名.可以使用import关键字来导入一个包.例如使用import java.util.* ...

  7. 敏捷冲刺DAY4

    一. 每日会议 1. 照片 2. 昨日完成工作 登录界面的进一步完善 服务器搭建 建立数据库 3. 今日完成工作 发布和提供需求功能的实现 用户修改自己的信息 用户界面设计 管理员界面设计 4. 工作 ...

  8. QThread安全的结束线程

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QThread安全的结束线程     本文地址:http://techieliang.com/ ...

  9. QUdpSocket-Qt使用Udp通讯实现服务端和客户端

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QUdpSocket-Qt使用Udp通讯实现服务端和客户端     本文地址:https:// ...

  10. 【第五周】alpha发布之小组评论

    对于昨天的阿尔法发布,有那么几点需要说一下: 1,对这次阿尔法发布的过程,我们组还是基本顺利的,由于之前吃过亏,这次我提前试用了一下投影仪,做了些调试,之后的发布过程起码设备上是正常的. 2,我们的项 ...