初次接触到session

 15-10-10 day3

今天目标计划,是做出来,登陆,注销,注册,查看,回复,删除功能。

但是登陆注销 这个和用户登陆状态有关的东西,就不会用这个session了。


有必要在这里赘述一下session的使用过程!

作为一个全局开启的的类, session start(); 这一句就写在了 connect.php 文件内,因为主要的页面都链接数据库。


然后获取值的部分在

$check_query = mysql_query("select * from userinfo where username='$username' and psw='$psw' limit 1");

这个是查询出来数据库内和表单提交的相匹配的数据。

然后

$result = mysql_fetch_array($check_query, 1)

 把查询到的结果传递到 result 这里面

安全起见,释放掉unset($result['psw']); 这个里面的密码(MD5值)。


接着就把值传到session里面  $_SESSION['userinfo'] = $result;

由于整个过程,总监只用了几分钟帮我加这个代码,导致我不理解这个运行机制- -,所以我每天晚上都会写博客,回忆总结今天学习的东西。


在一个赋值的语句里面有 $_SESSION['userinfo']['username'] 这样的表达式  我觉得可以认为是一个数组。


解释一波 

在$result = mysql_fetch_array($check_query, 1) 这个之后 添加一个var_dump($result); 会有如下的输出结果


array(3) { ["userid"]=> string(2) "12" ["username"]=> string(5) "admin" ["psw"]=> string(32) "7fef6171469e80d32c0559f88b377245" }


然后把$_SESSION['userinfo'] = $result; //认为这个是赋值


同时,

$_SESSION['userinfo']['username'] 这个的值正好是 admin ,就是正好读取数组 userinfo 下表的 username 里面的值 admin


目前的表达水平仅限于我自己能看懂!


还有一个就是session的清除,以及index.php 调用本身页面的语句。

<td align="right"> 

<?php

 if(!empty($_SESSION['userinfo']))

{?> 


<a οnclick="return confirm('是否确认注销?');" href="index.php?action=loginout">注销</a>


<?php }

 ?>

</td>


分清这几个问号大括号 简直狗带。。。


这个语句,作用就是,点击注销之后弹框,询问是否确认注销。

如果确认,就调用自身,给自己传一个 action ,动作是loginout


 if(!empty($_GET['action']) && $_GET['action']=="loginout")

session_destroy();

此时,在文件头部会有这个语句。

如果这个if 条件满足的话,就销毁session (清除用户登陆的信息)


再看一下这个判断语句里面

get 方式下的action 不为空 并且 action 为 loginout ( 为什么这里不直接判断一个action 为 loginout?)

就销毁session 。


同时,在有session的情况下 可改变很多东西

<?php if(empty($_SESSION['userinfo'])){?>
<td align="right">  <a href="login.php">登陆</a></td>  
<td align="right"> <a href="register.php">注册</a></td> 
<?php } ?>


比如这个,只有在session为空的情况下,上方的选项有 登陆和注册



<td align="right"> <?php if(!empty($_SESSION['userinfo'])){?> <a οnclick="return confirm('是否确认注销?');" href="index.php?action=loginout">注销</a><?php } ?></td>

这个玩意儿就是表示,在session为空的情况下,就只显示一个注销的选项……


well

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

米斯特昂

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值