一.在不同页面之间显示用户的信息
二.控制登录
1.登录页面
<body>
<form action="loginchuli.php" method="post"> <div>用户名:<input type="text" name="uid" /></div> <div>密码:<input type="password" name="pwd" /></div> <input type="submit" value="登录" /></form></body></html>
2、登录处理页面
<?php
session_start();include("DBDA.class.php");$db = new DBDA();$uid = $_POST["uid"];$pwd = $_POST["pwd"];$sql = "select pwd from users where uid='{$uid}'"; //通过用户名,判断密码$attr = $db->Query($sql);$mm = $attr[0][0]; //取出密码if(!empty($pwd) && $pwd==$mm){ $_SESSION["uid"] = $uid; //如果登录成功,把取到的用户名放到session保存,跳转到主页面 header("location:main.php"); }else{ echo "登录失败!";}
3、主页面
</head>
<?phpsession_start();if(empty($_SESSION["uid"])) //判断session里面是不是存储到值,如果没有存储,让其跳转到登录界面{ header("location:login.php"); exit;}$uid = $_SESSION["uid"]; //如果能够取到,通过session取到的用户名,显示下面的信息include("DBDA.class.php");$db = new DBDA();$sql = "select name from users where uid='{$uid}'";$attr = $db->Query($sql);?><body><?phpecho "<h1>欢迎登录:{$attr[0][0]}</h1>";?>
三、做购物车
1.调水果表的信息
<body>
<table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>名称</td> <td>价格</td> <td>产地</td> <td>库存</td> <td>操作</td> </tr><?phpinclude("DBDA.class.php");$db = new DBDA();$sql = "select * from fruit";$attr = $db->Query($sql);foreach($attr as $v){ echo "<tr> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td><a href='jia.php?code={$v[0]}'>加购物车</a></td> //添加购物车选项 </tr>";}?></table>
2.将传过来的水果加到购物车
三条思路:
//1.如果是第一次点击加购物车,做一个二维数组扔到SESSION里//2.如果不是第一次点击加购物车并且该水果第一次点击,做一个该水果的一维数组扔到SESSION的二维数组里面//3.如果不是第一次点击加购物车并且该水果不是第一次点击,将SESSION数组里面该水果的数量加1<?phpsession_start();$code = $_GET["code"];if(empty($_SESSION["gwc"])){ //1.如果是第一次点击加购物车,做一个二维数组扔到SESSION里 $attr = array( array($code,1) //建立一个二维数组,并在里面的一位数组中添加代号和数量1 ); $_SESSION["gwc"] = $attr; //把新建立的二维数组,添加到session中}else{ //判断该水果代号是否在SESSION数组里面出现 $attr = $_SESSION["gwc"]; //如果session里面有内容,则把内容给一个二维数组 if(PanDuan($code,$attr)) //下面见了一个PanDuan的方法,用来判断代号是不是已经存在session里 { //3.如果不是第一次点击加购物车并且该水果不是第一次点击,将SESSION数组里面该水果的数量加1 /*foreach($attr as $v) { if($code == $v[0]) { $v[1] = $v[1]+1; } }*/ for($i=0;$i<count($attr);$i++) //取数组的长度用count() { if($code == $attr[$i][0]) { $attr[$i][1]++; } } $_SESSION["gwc"]=$attr; } else { //2.如果不是第一次点击加购物车并且该水果第一次点击,做一个该水果的一维数组扔到SESSION的二维数组里面 $arr = array($code,1); $attr[] = $arr; $_SESSION["gwc"]=$attr; } }var_dump($_SESSION["gwc"]);//判断v是不是在arr里面出现function PanDuan($v,$arr) //判断方法{ $n = 0; foreach($arr as $a) { if($v == $a[0]) { $n++; } } if($n==0) { return false; } else { return true; }}