PHP商城笔记(cookie1) —— 深入理解cookie概念

// 用 cookie & session 做用户的登陆,退出

/*
我们需要看到自己的注册资料,即用户表自己的信息

连上mysql,查询数据,地址栏传参,传user_id
根据user_id查询用户信息
*/

<?php

$user_id = $_GET['user_id'] + 0;

$con = mysqli_connect('localhost','root','','boolshop');
mysqli_query($con,'set names utf8');
if(!$con) {
    echo '数据库连接失败!';
    exit(mysqli_connect_errno());
}

$sql = 'select * from user where user_id=' . $user_id;
$rs = mysqli_query($con,$sql);

print_r(mysqli_fetch_assoc($rs));

?>

/*
但是:
如果我的id是5,地址栏输入5,可以看到我的信息
如果id改成6,岂不就可以看到别人的信息?

如何控制 只看到自己的信息?
*/


做一个简单登陆cookie验证

02.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <form action="02.php" method="post" accept-charset="utf-8">
            用户名:<input type="text" name="username" value="" placeholder="">
            密码:<input type="text" name="passwd" value="" placeholder="">
            <input type="submit" name="" value="登陆">
        </form>
    </body>
</html>

02.php

<?php

// 这个页面非常重要,不是网站成员不能看

// 先判断用户名/密码 再定义常量
// 下面检查常量

$con = mysqli_connect('localhost','root','','boolshop');
mysqli_query($con,'set names utf8');
if(!$con) {
    echo '数据库连接失败!';
    exit(mysqli_connect_errno());
}

$u = $_POST['username'];
$p = $_POST['passwd'];

$sql = "select count(*) from user where username='" . $u . "' and passwd='" . $p . "'";
$rs = mysqli_query($con,$sql);

$row = mysqli_fetch_row($rs);
if($row[0] == 1) {
    // 登陆成功
    //echo '有这个用户名/密码 且匹配<br >';
    define('USER',true);
} else {
    echo '用户名密码错误';
}

if(defined('USER')) {
    echo '你没有登陆';
    exit;
}

// 如何把这行代码控制住,非本站用户不能看
echo '这部分非常重要!只有本站成员可以看';
echo 'very important';

?>

<a href="03.php">个人隐私页面</a>

03.php

<?php

if(!defined('USER')) {
    echo '你没有登陆';
    exit;
}

// 如何把这行代码控制住,非本站用户不能看
echo '这部分非常重要!只有本站成员可以看';
echo 'very important';


// 常量状态无法保持、不能跨页面
// 02.php的$u和$p 与 03.php 无关

?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值