会话购物车

<!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>
<?php
//session_start();//开启session

//HTTP,无状态性
//SESSION COOKIE

//SESSION:存储在服务端的,每个人存一份,可以存储任意类型的数据,默认过期时间15分钟
//COOKIE:存储在客户端的,每个人存一份,只能存储字符串,默认永不过期

//$_SESSION["uid"] = "zhangsan";//写入SESSION

//echo $_SESSION["uid"];

//setcookie("uid","zhangsan"); //设置COOKIE

?>
<a href="test1.php">跳转</a>
</body>
</html>

<!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>
<?php
//session_start();
//echo $_COOKIE["uid"];
//echo $_SESSION["uid"];
?>
</body>
</html>

<!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>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>水果名称</td>
<td>水果价格</td>
<td>水果产地</td>
<td>水果库存</td>
<td>操作</td>
</tr>
<?php

include("../DBDA.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='addgwc.php?code={$v[0]}'>加入购物车</a></td></tr>";
}

?>
</table>

<a href="gouwuche.php">查看购物车</a>
</body>
</html>

<!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>
<?php
session_start();

if(empty($_SESSION["uid"]))
{
header("location:login.php");
}

echo $_SESSION["uid"];
?>
</body>
</html>

<?php
session_start();
include("../DBDA.php");
$db = new DBDA();

$uid = $_POST["uid"];
$pwd = $_POST["pwd"];

$sql = "select count(*) from Users where Uid='{$uid}' and Pwd = '{$pwd}'";

$r = $db->StrQuery($sql);

if($r==1)
{
$_SESSION["uid"] = $uid;
header("location:main.php");
}
else
{
header("location:login.php");
}

<!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>
<h1>登录</h1>
<form action="loginchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<div><input type="submit" value="登录" /></div>
</form>
</body>
</html>

<!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>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>水果名称</td>
<td>水果价格</td>
<td>数量</td>
</tr>
<?php
session_start();

include("../DBDA.php");
$db = new DBDA();

$attr = $_SESSION["sg"];

foreach($attr as $v)
{
$sql = "select Name,Price from fruit where Ids='{$v[0]}'";

$arr = $db->Query($sql);

echo "<tr><td>{$arr[0][0]}</td>
<td>{$arr[0][1]}</td>
<td>{$v[1]}</td></tr>";
}

?>
</table>
</body>
</html>

<?php
session_start();

$code = $_GET["code"];

//如果第一次点击
if(empty($_SESSION["sg"]))
{
$attr = array(array($code,1));
$_SESSION["sg"] = $attr;
}
else
{
//第n次点击,n!=1
$attr = $_SESSION["sg"];

//判断该水果师是否已经存在
if(iscunzai($code))
{
foreach($attr as $k=>$v)
{
if($v[0]==$code)
{
$attr[$k][1] = $v[1]+1;
}
}

$_SESSION["sg"] = $attr;
}
else
{
$arr = array($code,1);
array_push($attr,$arr);

$_SESSION["sg"] = $attr;
}

}

function iscunzai($c)
{
$attr = $_SESSION["sg"];

$b = false;

foreach($attr as $v)
{
$b = $b || in_array($c,$v);
}

return $b;
}

header("location:showlist.php");

php第二十六节课的更多相关文章

  1. 风炫安全WEB安全学习第二十六节课 XSS常见绕过防御技巧

    风炫安全WEB安全学习第二十六节课 XSS常见绕过防御技巧 XSS绕过-过滤-编码 核心思想 后台过滤了特殊字符,比如说

  2. centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课

    centos linux系统日常管理3  服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...

  3. centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 第三十六节课

    centos  shell脚本编程2 if 判断  case判断   shell脚本中的循环  for   while   shell中的函数  break  continue  test 命令   ...

  4. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  5. centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

    centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节 ...

  6. 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)

                                                    第二十六节决策树系列之Cart回归树及其参数(5) 上一节我们讲了不同的决策树对应的计算纯度的计算方法, ...

  7. 风炫安全web安全学习第三十六节课-15种上传漏洞讲解(一)

    风炫安全web安全学习第三十六节课 15种上传漏洞讲解(一) 文件上传漏洞 0x01 漏洞描述和原理 文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接.但是想真正把 ...

  8. 风炫安全web安全学习第二十九节课 CSRF防御措施

    风炫安全web安全学习第二十九节课 CSRF防御措施 CSRF防御措施 增加token验证 对关键操作增加token验证,token值必须随机,每次都不一样 关于安全的会话管理(SESSION) 不要 ...

  9. 风炫安全WEB安全学习第二十五节课 利用XSS键盘记录

    风炫安全WEB安全学习第二十五节课 利用XSS键盘记录 XSS键盘记录 同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源.所以xyz.com下的js脚本采用a ...

随机推荐

  1. nohup 程序在后台运营 避免 xshell 卡死 通过 nohup.out分析调取系统命令时的异常分析

    nohup  程序在后台运营 避免 xshell  卡死 [root@admin1 after_fc_distributed]# nohup /root/anaconda3/bin/python da ...

  2. 在js中取选中的radio值

    在js中取选中的radio值 <input type="radio" name="address" value="0" /> & ...

  3. Windows 平台上长路径名文件的解决方法

    https://www.ibm.com/developerworks/cn/java/j-lo-longpath.html

  4. Android实战技巧之八:Ubuntu下切换JDK版本【转】

    本文转载自:http://blog.csdn.net/lincyang/article/details/42024565 Android L之后推荐使用JDK7编译程序,这是自然发展规律,就像是4年前 ...

  5. MAC OS brew安装MNMP

    安装HomeBrew Brew是Mac下面的包管理工具,就像centos下面的yum一样.HomeBrew可以通过ruby来安装,mac系统是自带ruby的,所以只要在终端运行下面的代码即可安装Hom ...

  6. 并不对劲的st表

    对于带修改的区间求和能做到O(n log n)预处理,O(log n)查询:而不带修改的可以做到O(n)预处理,O(1)查询.那么不带修改的区间最值能做到O(1)查询吗? 区间最值有这样一个性质:对于 ...

  7. luogu 1080 国王游戏

    题目大意: 有一些数对,每个数对的得分为它之前所有数对的左侧数之乘积除以它的右侧数 求重新排列后数列中所有数对中最大得分尽可能小(第一个数对不参与排序,仍然为第一个) 思路: 非常简单,可以根据它对后 ...

  8. go语言---defer

    go语言---defer https://blog.csdn.net/cyk2396/article/details/78885135 defer 是在函数退出前调用,多个defer遵循 先进后出 的 ...

  9. Java IO 输入输出流 详解 (一)***

    首先看个图: 这是Javaio 比较基本的一些处理流,除此之外我们还会提到一些比较深入的基于io的处理类,比如console类,SteamTokenzier,Externalizable接口,Seri ...

  10. 重装Eclipse 往其中加Python插件时 遇到不能独立运行c c++ python 代码时修改办法:

    鼠标移动到新建项目处 ,右键->run as-> run configuration->选择Enable auto build 即可.