php SESSION应用实例(购物车)

SESSION应用实例

上岸例子:(请重视一定要自己敲一遍,不要CV年夜法)
华夏棋牌首先上一下效果图,激起同砚们写的欲望,登录页以下:

document_2015-09-04_55e9473ab4ec7.png

诠释哦了,么效果。接上去自己完成一下。
首先数据库信息:
新建一个名为 login 的数据库,再建一个 user 表,表的结构以下图:

document_2015-09-04_55e9487784049.png

login.php

<?php
session_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['password'] == $password) {
       //密码验证经由历程,设置session,把用户名和密码生涯在服务端
       $_SESSION['username'] = $username;
       $_SESSION['password'] = $password;

       //最后跳转到登录后的迎接页面 //重视:这里我们没有像cookie一样带参数之前
       header('Location: welcome.php');
   }
}

?>
<html>
<head>
<!-- 这里指明页面编码 -->
<meta charset="utf-8">
</head>
<body>
   <form action="" method="POST">
       <div>
           用户名:<input type="text" name="username" />
           密  码:<input type="text" name="password" />
           <input type="submit" value="登录">        
       </div>
   </form>
</body>
</html>

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

<?php
session_start();
$username = $_SESSION['username'];
?>
<html>
<head>

</head>
<body>
   welcome,<?php echo $username;?>
</body>
</html>

购物车的例子:(请重视一定要自己敲一遍,不要CV年夜法)
数据库信息:建扬名为test的数据库,库中有个shop表,表结构以下图:

document_2015-09-04_55e9496188de0.png

泉源编码吧!
goodsList.php 这个是商品展示页,效果图以下:
华夏棋牌 诠释一下,假定是第一次购置某物品,则在购物车中加入该商品信息和盘算总价,假定再次点击购置,则已购商品数目加1,总价重新盘算,检查购物车链接可以到购物车页面。

<?php
   $goods = array();
   //从数据库取得商品信息存入$goods二维数组
   $i = 0;
   //这里请换上自己的数据库相关信息
   $conn = 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>
   <meta http-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 />';
       }

   ?>
   <a href="shoppingCart.php">检查购物车</a>
</body>
</html>

华夏棋牌buy.php 此页完成购置功效,然后再次跳转到商品列表。主要是做了在session中处置赏罚赏罚购置商品操作。

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<?php
   //开启session
   session_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 此页展示购物车中的商品、价钱、总价等信息。
效果图以下:

document_2015-09-04_55e945fc2e667.png

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<?php
session_start();
//将session中的商品信息(即购物车中的商品)和总价显示到页面
$goods = $_SESSION['goods'];
echo '您买了:<br />';
foreach ($goods as $value) {
   echo $value['name'] . ' 价钱 ' . $value['price'] . ' 数目 ' . $value['number'] . '<br />';
}
echo '总价:' . $_SESSION['totalPrice'] . '<br />';

?>
<a href="goodsList.php">前往商品列表</a>
</body>
</html>

华夏棋牌购物车的例子完成了,自己亲自完成一遍后是不是很有成就感!!你很凶悍!!

一连学习
||
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> </head> <body> <?php session_start(); //将session中的商品信息(即购物车中的商品)和总价显示到页面 $goods = $_SESSION['goods']; echo '您买了:<br />'; foreach ($goods as $value) { echo $value['name'] . ' 价钱 ' . $value['price'] . ' 数目 ' . $value['number'] . '<br />'; } echo '总价:' . $_SESSION['totalPrice'] . '<br />'; ?> <a href="goodsList.php">前往商品列表</a> </body> </html>
提交重置代码
章节
条记
提问
课件
反映
捐赠

php入门教程之一周学会PHP

  • 推荐课程
  • 议论
  • 问答
  • 条记
  • 课件下载

金华郭德纲

这个session_start()函数可以涌现在goodlist.php文件中吗?

3个月前    添加回复 0

回复

信运

有个忽视的地方: 1、建数据库时,密码字段名是“passwd”。但是PHP代码,这个字段名又酿成“password"

9个月前    添加回复 0华夏棋牌

回复

buy.php中第22行到24行中的$goods[][]是从哪儿来的?华夏棋牌

[最新 韦小宝 的回复] 在这里不是取得了goods的值么

时间:3个月前

buy.php goods[$name]['name']取出来甚么值

[最新 癸亥王 的回复] 这个buy.php的代码有误,$goods = $_SESSION['goods'];和$_SESSION['goods'] = $goods;都不须要,$goods[$name]['*']应当写为$goods['goods'] [$name]['*']

时间:1年前

叨教为甚么$_SESSION['Price']的值一直为0?

[最新 Fllllll 的回复] 知道了,是我数据库外面数据有用果华夏棋牌

时间:1年前

buy.php中读取session

[最新 phpcn_u2434 的回复] 他这个是培植了一个叫goods的session 只不外他写不才面的  $_SESSION['goods'] = $goods;华夏棋牌

时间:1年前

buy.php文件中,$goods = $_SESSION['goods'],这个$_SESSION['goods']的值是若何传已往的

[最新 年夜家讲事理 的回复] goods值是存储在Session外面的。$_SESSION['goods']只是取出来

时间:1年前

每次应用session都要start()一下吗?华夏棋牌

[最新 数据剖析师 的回复] 每次应用session都要start()一下吗?-华夏棋牌-万豪棋牌电玩城-微信娱乐棋牌问答-每次应用session都要start()一下吗?-华夏棋牌-万豪棋牌电玩城-微信娱乐棋牌问答围不雅不雅一下哦,学习一下。华夏棋牌

时间:2年前

逐一

二、购物车:buy.php <?php echo '<h3>购物车商品</h3><a href="goods.php">前往商品</a><br>'; session_start(); $name=$_REQUEST['name']; $price=$_REQUEST['price']; //$_SESSION['goods']=array(); //$_SESSION['totalPrice']=array(); //$goods=array(); $goods=$_SESSION['goods']; if($name==$goods[$name]['name']){ $goods[$name]['number']+=1; $_SESSION['totalPrice'][0]+=$price; }else{ $goods[$name]['name']=$name; $goods[$name]['price']=$price; $goods[$name]['number']+=1; $_SESSION['totalPrice'][0]+=$price; } $_SESSION['goods']=$goods; $car = $_SESSION['goods']; //var_dump($car); echo '<table width="800" border="1" >'; echo '<tr><th>商品名</th>'; echo '<th>价钱(元)</th><th>数目</th></tr>'; foreach($car as $value){ echo '<tr>'; echo '<td>'.$value['name'].'</td>'; echo '<td>'.$value['price'].'</td>'; echo '<td>'.$value['number'].'</td>'; echo '</tr>'; } echo '<tr ><td colspan="3">付款:'.$_SESSION['totalPrice'][0].'元</td></tr>'; echo '</table>'; ?>

1年前  0

逐一

华夏棋牌一、商品列表:goods.php <?php include 'connection.php'; echo '商品列表'; $sql="select * from goods order by price desc "; $res=mysqli_query($conn,$sql); if($res&&mysqli_num_rows($res)){ echo '<table width="800" border="1">'; echo '<tr><th></th>'; echo '<th>商品名</th>'; echo '<th>价钱(元)</th>'; echo '<th>操作</th></tr>'; while($row=mysqli_fetch_assoc($res)){ echo '<tr>'; echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>'; echo '<td>'.$row['name'].'</td>'; echo '<td>'.$row['price'].'</td>'; echo '<td><a href="buy.php?id='.$row['id'].'&name='.$row['name'].'&price='.$row['price'].'">购置</a></td>'; echo '</tr>'; } echo '</table>'; }else{ echo '暂无商品!'; } ?>

1年前  0

课件暂不供应下载,使命职员正在整理中,前期请多关注该课程~