zoukankan      html  css  js  c++  java
  • php部分--session的三种用法

    一.在不同页面之间显示用户的信息

    二.控制登录

    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>
    <?php
    session_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>
    <?php
    echo "<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>
    <?php
    include("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




    <?php
    session_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;
        }
    }

  • 相关阅读:
    .Net 平台下的互联网架构新思考
    图形化机构树静态页面
    互联网应用架构谈
    解决android调用IIS Express中的WCF服务时,出现错误400问题
    远程连接sql server 数据库的方法
    WPF样式——多条件触发器
    Ubuntu 16.04 安装 RabbitMQ
    session共享个人小结
    Nginx负载均衡配置
    MySQL数据库设置主从同步
  • 原文地址:https://www.cnblogs.com/llzhang123/p/9024206.html
Copyright © 2011-2022 走看看