作者:我爱宝宝们小童鞋_244_571_742 | 来源:互联网 | 2013-08-06 10:37
现在越来越多的企业或者个人都比较喜用互联网进行沟通和交流:比如留言板方式,聊天室方式,论坛 博客等等
上述几种方式都需要用户注册自己的身份验证并且通过验证以后才能正常使用,这样考虑到了用户在某一段时间之内访问网站多个页面或者在不同网站之间进行跳转时可以顺利的访问,如果做不到这点的话不仅会对用户带来不便,而且用户登录时浪费了服务期空间如果所有的网站能够实现单点登录的话 可以有效的解决这一繁琐的问题,那么我们在php中使用session和COOKIE来解决这一繁琐的问题:
例如简单的例子 提交表单的
session_start();
include_once 'conn/conn.php'; //执行连接数据库的操作
$name = addslashes($_POST['name']); //获取用户名
$pwd = $_POST['pwd']; //获取密码
if(!empty($name) and !empty($pwd)){
$sql = "select * from tb_member where name = '".$name."' and password = '".$pwd."'";
$num = $conne->getRowsNum($sql); //返回查询结果
$conne->close_rst(); //释放查询结果
if($num == 0 or $num == ''){ //如果不正确
echo "";
}else{ //如果正确,则将登录用户名数据存储到COOKIE中
$session_id=session_id(); //获取SessionID
setCOOKIE("name", $name, time()+3600, "/");
setCOOKIE("id", md5($session_id), time()+3600, "/");
$sqls="insert into tb_login(name,login_id,datetime)values('".$name."','".md5($session_id)."','".mktime()."')"; //向数据库中添加数据
$nums = $conne->uidRst($sqls); //返回查询结果
echo "";
}
}
?>
我们可以仔细的观察一下返回结果来看下
然后来验证一下session:
session_start();
include_once 'conn/conn.php'; //执行连接数据库的操作
$name = addslashes($_POST['name']); //获取用户名
$pwd = $_POST['pwd']; //获取密码
if(!empty($name) and !empty($pwd)){
$sql = "select * from tb_member where name = '".$name."' and password = '".$pwd."'";
$num = $conne->getRowsNum($sql); //返回查询结果
$conne->close_rst(); //释放查询结果
if($num == 0 or $num == ''){ //如果不正确
echo "";
}else{ //如果正确,则将登录用户名数据存储到COOKIE中
$session_id=session_id(); //获取SessionID
setCOOKIE("name", $name, time()+3600, "/");
setCOOKIE("id", md5($session_id), time()+3600, "/");
$sqls="insert into tb_login(name,login_id,datetime)values('".$name."','".md5($session_id)."','".mktime()."')"; //向数据库中添加数据
$nums = $conne->uidRst($sqls); //返回查询结果
echo "";
}
}else{
echo "失败";
}
?>
好了具体的操作步骤可以