标签:购物 mit 过期 name 操作 hang image display location
登录:
封装类(用于连接数据库)代码中创建一个对象最好可以重复使用
1 <?php 2 class DBDA 3 { 4 public $host="localhost"; 5 public $uid = "root"; 6 public $pwd = "123"; 7 public $dbname = "mydb"; 8 9 //成员方法 10 public function Query($sql,$type=1) 11 { 12 $db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname); 13 $r = $db->query($sql); 14 15 if($type==1) 16 { 17 return $r->fetch_all(); 18 } 19 else 20 { 21 return $r; 22 } 23 } 24 }
1.登陆界面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <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 判断 (目的不能绕过 登陆界面直接加载该页面)
1 <?php 2 session_start(); 3 include("../fengzhuang/DBDA.class.php"); 4 $db = new DBDA(); 5 6 $uid = $_POST["uid"]; 7 $pwd = $_POST["pwd"]; 8 9 $sql = "select pwd from users where uid=‘{$uid}‘"; 10 $attr = $db->Query($sql); 11 12 $mm = $attr[0][0]; 13 14 if(!empty($pwd) && $pwd==$mm) 15 { 16 $_SESSION["uid"] = $uid; 17 header("location:main.php"); 18 } 19 else 20 { 21 echo "登录失败!"; 22 }
3.主界面
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>无标题文档</title> 6 </head> 7 <?php 8 session_start(); 9 //echo $_SESSION["uid"]; 10 11 if(empty($_SESSION["uid"])) 12 { 13 header("location:login.php"); 14 exit; 15 } 16 17 $uid = $_SESSION["uid"]; 18 include("../fengzhuang/DBDA.class.php"); 19 $db = new DBDA(); 20 $sql = "select name from users where uid=‘{$uid}‘"; 21 $attr = $db->Query($sql); 22 23 ?> 24 <body> 25 <?php 26 echo "<h1>欢迎登录:{$attr[0][0]}</h1>"; 27 28 ?> 29 </body> 30 </html>
------------------------加入购物车------------------------------------
1.购物界面
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>无标题文档</title> 6 </head> 7 8 <body> 9 <table width="100%" border="1" cellpadding="0" cellspacing="0"> 10 <tr> 11 <td>名称</td> 12 <td>价格</td> 13 <td>产地</td> 14 <td>库存</td> 15 <td>操作</td> 16 </tr> 17 <?php 18 include("../fengzhuang/DBDA.class.php"); 19 $db = new DBDA(); 20 21 $sql = "select * from fruit"; 22 $attr = $db->Query($sql); 23 24 foreach($attr as $v) 25 { 26 echo "<tr> 27 <td>{$v[1]}</td> 28 <td>{$v[2]}</td> 29 <td>{$v[3]}</td> 30 <td>{$v[4]}</td> 31 <td><a href=‘jia.php?code={$v[0]}‘>加购物车</a></td> 32 </tr>"; 33 } 34 35 36 ?> 37 </table> 38 39 </body> 40 </html>
2.加入购物车 操作 [注意数组处理][也可以把二维数组遍历 转化为 一维数组 一维数组 使用 转化为 字符串 储存在新数组里面 再把新的数组转化为字符串最后用 test 方法 (正则里面学的)检测是否存在
1 <?php 2 session_start(); 3 //将传过来的水果加到购物车 4 $code = $_GET["code"]; 5 6 //$_SESSION["gwc"]; 7 8 9 //1.如果是第一次点击加购物车,做一个二维数组扔到SESSION里 10 11 //2.如果不是第一次点击加购物车并且该水果第一次点击,做一个该水果的一维数组扔到SESSION的二维数组里面 12 13 //3.如果不是第一次点击加购物车并且该水果不是第一次点击,将SESSION数组里面该水果的数量加1 14 15 16 if(empty($_SESSION["gwc"])) 17 { 18 //1.如果是第一次点击加购物车,做一个二维数组扔到SESSION里 19 $attr = array( 20 array($code,1) 21 ); 22 23 $_SESSION["gwc"] = $attr; 24 } 25 else 26 { 27 //判断该水果代号是否在SESSION数组里面出现 28 $attr = $_SESSION["gwc"]; 29 if(PanDuan($code,$attr)) 30 { 31 //3.如果不是第一次点击加购物车并且该水果不是第一次点击,将SESSION数组里面该水果的数量加1 32 /*foreach($attr as $v) 33 { 34 if($code == $v[0]) 35 { 36 $v[1] = $v[1]+1; 37 } 38 }*/ 39 for($i=0;$i<count($attr);$i++) 40 { 41 if($code == $attr[$i][0]) 42 { 43 $attr[$i][1]++; 44 } 45 } 46 $_SESSION["gwc"]=$attr; 47 } 48 else 49 { 50 //2.如果不是第一次点击加购物车并且该水果第一次点击,做一个该水果的一维数组扔到SESSION的二维数组里面 51 $arr = array($code,1); 52 $attr[] = $arr; 53 $_SESSION["gwc"]=$attr; 54 } 55 56 } 57 58 59 var_dump($_SESSION["gwc"]); 60 61 //判断v是不是在arr里面出现 62 function PanDuan($v,$arr) 63 { 64 $n = 0; 65 foreach($arr as $a) 66 { 67 if($v == $a[0]) 68 { 69 $n++; 70 } 71 } 72 73 if($n==0) 74 { 75 return false; 76 } 77 else 78 { 79 return true; 80 } 81 }
--------------------基础知识---------------------
<?php session_start(); //开启SESSION ?> <?php 会话保持 1.session 特点: (1)有默认过期时间,大约15分钟 (2)存储在服务器的,每个人存一份 (3)可以存储任意类型数据 用法: 使用session的页面最上端需要加session_start(); 赋值$_SESSION["uid"]="zhangsan"; 取值$_SESSION["uid"]; 2.cookie 特点 (1)存储在客户端的 (2)没有过期时间 (3)只能存储字符串类型的数据 用法: 赋值:setcookie("uid","lisi"); 取值:$_COOKIE["uid"]; $_SESSION["uid"]="zhangsan"; setcookie("uid","lisi"); echo $_SESSION["uid"]; ?>
标签:购物 mit 过期 name 操作 hang image display location
原文地址:http://www.cnblogs.com/ordinaryk/p/6221744.html