前端PHP Session的实例
登陆例子:(请注意一定要自己敲一遍,不要CV大法)
首先上一下成果图,激起同学们写的欲望,登录页如下:
点击登陆之后如下:
说明哦了,么问题。接下来自己实现一下。
首先数据库信息:
新建一个名为 login 的数据库,再建一个 user 表,表的结构如下图:
然后开始编码。
login.php代码
<?phpsession_start();if(( $_POST['username']!=null)&&( $_POST['password']!=null)){$userName = $_POST['username'];$password = $_POST['password'];//从db获取用户信息 数据库信息改成自己的$conn = mysqli_connect('host','username','password','login');$res = mysqli_query($conn,"select * from user where `username` = '$userName' ");$row = mysqli_fetch_assoc($res);if($row['passwd']== $password){//密码验证通过,设置session,把用户名和密码保存在服务端$_SESSION['userName']= $userName;$_SESSION['password']= $password;//最后跳转到登录后的欢迎页面 //注意:这里我们没有像cookie一样带参数过去header('Location: welcome.php');}}?><html><head><!-- 这里指明页面编码 --><metacharset="utf-8"></head><body><formaction=""method="POST"><div>用户名:<inputtype="text"name="username"/>密 码:<inputtype="text"name="password"/><inputtype="submit"value="登录"></div></form></body></html>
welcome.php 这里我们用的是session中的信息,而不是像cookie一样在url中带参数过来
<?phpsession_start();$userName = $_SESSION['userName'];?><html><head></head><body>welcome,<?php echo $userName;?></body></html>
购物车的例子:(请注意一定要自己敲一遍,不要CV大法)
数据库信息:建立名为test的数据库,库中有个shop表,表结构如下图:
开始编码吧!
goodsList.php 这个是商品展示页,效果图如下:
说明一下,如果是第一次购买某物品,则在购物车中加入该商品信息和计算总价,如果再次点击购买,则已购商品数量加1,总价重新计算,查看购物车链接可以到购物车页面。
<?php$goods = array();//从数据库获取商品信息存入$goods二维数组$i =0;//这里请换上自己的数据库相关信息mysqli_connect('host','username','password','test');$res = mysqli_query($conn,'select * from shop');//这里把商品信息放到$goods二维数组,每一维存的是单个//商品的信息,比如商品名、价格。while($row = mysqli_fetch_assoc($res)){$goods[$i]['id']= $row['id'];$goods[$i]['name']= $row['name'];$goods[$i]['price']= $row['price'];$i++;}?><!DOCTYPE html><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"></head><body><?php//取出商品信息显示在页面上,并添加购买功能foreach($goods as $value){echo ' 商品名 '. $value['name'].' 价格 '. $value['price'];echo "<a href=buy.php?name=". $value['name'].'&price='. $value['price'].">购买</a>";echo '<br />';}?><ahref="shoppingCart.php">查看购物车</a></body></html>
buy.php 此页完成购买功能,然后再次跳转到商品列表。主要是做了在session中处理购买商品操作。
<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"></head><body><?php//开启sessionsession_start();//获取传过来的商品名和价格$name = $_GET['name'];$price = $_GET['price'];//把session中的商品信息和传过来的(刚买的)商品信息对比$goods = $_SESSION['goods'];if($name == $goods[$name]['name']){//买过的话,则总价格增加,相应商品数量增加$_SESSION['totalPrice']+= $price;$goods[$name]['number']+=1;}else{//第一次买的话,将相应的商品信息添加到session中$goods[$name]['name']= $name;$goods[$name]['price']= $price;$goods[$name]['number']+=1;$_SESSION['totalPrice']+= $price;}$_SESSION['goods']= $goods;//购买处理完毕后跳转到商品列表header('location: goodsList.php');?></body></html>
shoppingCart.php 此页展示购物车中的商品、价格、总价等信息。
效果图如下:
<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"></head><body><?phpsession_start();//将session中的商品信息(即购物车中的商品)和总价显示到页面$goods = $_SESSION['goods'];echo '您买了:<br />';foreach($goods as $value){echo $value['name'].' 价格 '. $value['price'].' 数量 '. $value['number'].'<br />';}echo '总价:'. $_SESSION['totalPrice'].'<br />';?><ahref="goodsList.php">返回商品列表</a></body></html>
购物车的例子完成了,自己亲自完成一遍后是不是很有成就感!!你很厉害!!
前端PHP Session的实例的更多相关文章
- WCF会话(Session)与实例(Instance)管理
一.理解Session 1.Session的作用:保留Client和Service之间交互的状态,确保Client与Service之间交互唯一性(SessionId),即:多个Client同时访问Se ...
- PHP之session相关实例教程与经典代码
·php 中cookie和session的用法比较 ·phpmyadmin报错:Cannot start session without errors问题 ·php中cookie与session应用学 ...
- 【前端构建】WebPack实例与前端性能优化
计划把微信的文章也搬一份上来. 这篇主要介绍一下我在玩Webpack过程中的心得.通过实例介绍WebPack的安装,插件使用及加载策略.感受构建工具给前端优化工作带来的便利. 壹 | Fisrt 曾几 ...
- 跟我一起学WCF(8)——WCF中Session、实例管理详解
一.引言 由前面几篇博文我们知道,WCF是微软基于SOA建立的一套在分布式环境中各个相对独立的应用进行交流(Communication)的框架,它实现了最新的基于WS-*规范.按照SOA的原则,相对独 ...
- 2015年最热门前端框架React 入门实例教程
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
- 一周一个小demo — 前端后台的交互实例
这一周呢,本K在大神的指导下,完成了一个利用ajax与php文件上传处理相结合的一个留言板功能的小实例,下面就让本K来带大家瞅瞅如何实现这一种功能. 一.界面概览 首先我们来看一下这个小demo的具体 ...
- 不会几个框架,都不好意思说搞过前端: React 入门实例教程
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
- 关于NHibernate中存在于Session中实例的3种状态的简单分析
在使用NHibernate的时候.在Session中会有3种状态. 1. 瞬时状态 (Transient) 由 new 命令开辟内存空间的对象,也就是平时所熟悉的普通对象. 如: Student st ...
- 前端获得session信息方式对比,优化
在开发中,页面 js 经常会遇到需要 当前登录用户信息(菜单权限,用户基本信息,配置信息) 的地方,一般情况我们可能对这些信息获取方式不是太在意,但是现在的前端通过webpack打包,即使做了代码分割 ...
随机推荐
- XMLHttpRequest cannot load ''. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' ' is therefore not allowed access.
ajax跨域 禁止访问! 利用Access-Control-Allow-Origin响应头解决跨域请求
- spring整合hibernate,在获取sessionFactory的时候报错,求解决办法!!
applicationContext.xml文件 <!-- 开启扫包 --> <context:component-scan base-package="cn.edu&qu ...
- erlang和golang的比较
1)垃圾回收GC 像 Java 一样,Go 的垃圾回收是全局的,这意味着一旦垃圾回收被触发,所有的 goroutine 都会被暂停,造成一段时间的业务延迟. Erlang 的垃圾回收是进程级别的,每一 ...
- 部署mongodb中需要注意的调参
部署mongodb的生产服务器,给出如下相关建议: 使用虚拟化环境: 系统配置 1)推荐RAID配置 RAID(Redundant Array of Independent Disk,独立磁盘冗余阵列 ...
- asp.net 后台多线程异步处理时的 进度条实现一(Ajax+Ashx实现以及封装成控件的实现)
(更新:有的同学说源代码不想看,说明也不想看,只想要一个demo,这边提供一下:http://url.cn/LPT50k (密码:TPHU)) 工作好长时间了,这期间许多功能也写成了不少的控件来使用, ...
- WPF之DataTemplateSelector技巧
WPF中如何通过一个属性来控制对象的模板,属性值改变时对象的模板会跟随改变? 两个关键点 1 属性/对象更改通知 方法一:继承INotifyPropertyChanged接口,当属性值更改时需要让 ...
- [Android基础]Android中使用HttpURLConnection
HttpURLConnection继承了URLConnection,因此也能够向指定站点发送GET请求.POST请求.它在URLConnetion的基础上提供了例如以下便捷的方法. int getRe ...
- EntityFramwork 查询
EntityFramwork 查询 1.简单查询: SQL: SELECT * FROM [Clients] WHERE Type=1 AND Deleted=0 ORDER BY ID EF: // ...
- maven snapshot和release版本的区别(转)
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...
- struts 与 Java Web应用简介
struts实质上就是JSP Model2的基础上实现的MVC框架. 在Struts框架中,模型有实现业务逻辑的JavaBean或EJB组件构成 视图由一组JSP文件构成. 控制器 控制器由Actio ...