热度 6 ||
PHP学习
因为本人能力和水平有限无力讨论SESSION和COOKIE的利弊和好坏,只是把自己学到和掌握的关于SESSION的使用罗列于下:
使用例子:
一个注意事项:
不知道什么原因,如果不更改以下两个参数,总是会报错。为了解决这个问题,我修改了PHP.INI文件中的两个参数,这样再使用SESSION时就不容易报错了。
output_buffering = on 该值为ON时,将在所有脚本中使用输出控制;若该值为一个数字,则代表缓冲区的最大字节限制,当缓存内容达到该上限时将会自动向浏览器输出当前的缓冲区里的内容。
session.auto_start = 1 开启就自动完成session_start()了,=0,=1的区别就在于在用SESSION前是否需要session_start();1为开启,0为关闭。
一、用户登录,用SESSION保存用户名。
<?php
if ($username) //如果用户名不为空
{
$password=md5($password);//对输入的密码进行MD5加密
$sql="select * from user where username='$username' and password='$password'";
//生成SQL查询语句,用来判断用户名和密码是否正确。
$result=mysql_query($sql);//使用SQL查询
$num_rows=mysql_num_rows($result);//判断用户名和密码是否存在和正确
if ($num_rows==1)//如果用户名和密码正确
{
$row=mysql_fetch_assoc($result);//获取数据库中保存的相应的用户名的记录。
$_SESSION['username']=$row['username'];设置$_SESSION['username'],用来保存用户名
$_SESSION['realname']=$row['realname'];设置$_SESSION['realname'],用来保存真实姓名
$_SESSION['glqx']=$row['glqx'];设置 $_SESSION['glqx'],用来保存管理权限
header("location:index.php");将页面转向INDEX.PHP
}
else {
die('<h2 align="center">用户名或者密码错误!请<a href="login.php">返回</a>。</h2>');//如果用户名和密码错误则提示错误
}
}
?>
二、当用户发表文章时,引用SESSION作签名用。
直接设置一个变量等于$_SESSION['realname'] ;就能够引用相应的SESSION变量
$jbry=$_SESSION['realname'] ;将$_SESSION['realname'] 的值赋给变量$jbry,即举报人员。
三、当用户退出时,注销SESSION.
<?php
$_SESSION=array();删除$_SESSION全局变量数组
SESSION_unset();释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的 session id
SESSION_destroy();删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留
?>
希望通过这三个例子的演示,朋友们能够明白如何用PHP实现用户和权限管理的设计。
因为,我也只是在刚学PHP,欢迎大家交流,如果大家感兴趣的话,可以向我索取PHP的源码。
PS:注,本人最近正在编写一个OA系统,就是纯练习。不过,因为是第一回写PHP,没有做太多的注释,所以还请不要抱太大的希望。我想等我完完全全写好之后,再注释上。如果有可能的话,我会将它开源的。虽然,也不是什么好东西。哈哈。
wuanshou@gmail.com