单点登录(手写php代码)
来源:互联网 发布:淘宝c店铺运营计划表 编辑:程序博客网 时间:2024/05/29 21:28
//假设有三个网站,分别是网站web1(验证登录)网站shop以及网站getinfo
//第一步:网站shop里面引入jquery再新建一个login.php文件.
<?phpsession_start();//开启sessionheader('content-type:text/html;charset=utf8');//设置字符集if(isset($_SESSION['login'])){//判断登录 echo "登录状态"; echo "<a href='exitlogin.php'>退出</a>"; ?> <script src="jquery-1.7.2.min.js"></script> <script> $.ajax({//实现ajax跨域到网站getinfo中的ui.php url:"http://localhost/xiaoshixun2/rikao/getinfo/ui.php?callback=testlogin", dataType:'jsonp', jsonpCallback:'testlogin', success:function(txt){ } }); </script> <?php}else{ ?> <input type="text" name="username"/> <input type="text" name="pwd"/> <input type="submit" value="登录" onclick="login()"/> <script src="jquery-1.7.2.min.js"></script> <script> function login(){//实现ajax登录验证 var u=$("input[name=username]").val(); var p=$("input[name=pwd]").val(); $.ajax({ url:"http://localhost/xiaoshixun2/rikao/web1/ucserver.php?username="+u+"&pwd="+p+"&callback=testlogin", dataType:'jsonp', jsonpCallback:'testlogin', success:function(txt){ if(txt.error==0){ location.href="ui.php?u="+txt.data.u+"&login="+txt.data.login; } else{ alert(txt.msg); } } }); } </script><?php}?>//新建ui.php<?phpsession_start();$_SESSION['login']=true;$rs['error']=0;if(isset($_GET['callback'])){//判断是否callback exit($_GET['callback']."(".json_encode($rs).")");}else{ header('location:login.php');}//新建exitlogin.php<?phpsession_start();//开启sessionsession_destroy();//消除sessionheader('location:login.php');//新建curl.php<?php$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'http://localhost/xiaoshixun2/rikao/getinfo/ui.php');curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_exec($ch);curl_close($ch);//第二步:在web1里新建ucserver.php<?php$n=$_GET['username'];//接收用户名$p=$_GET['pwd'];//接收密码//伪代码,此处用户名密码应该和数据库里匹配,此处用户名abc 密码 123是自定义的if($n=="abc"&& $p=="123"){ $rs['error']=0; $rs['data']=array('u'=>$n,'login'=>true); exit($_GET['callback']."(".json_encode($rs).")");}else{ $rs['error']=1; $rs['msg']='你的用户或密码不正确'; exit($_GET['callback']."(".json_encode($rs).")");}?>//第三步:操作getinfo网站
//新建login.php<?phpsession_start();//print_r($_SESSION);header('content-type:text/html;charset=utf8');if(isset($_SESSION['login_getinfo'])){ echo "登录状态"; echo "<a href='exitlogin.php'>退出</a>"; ?> <script src="jquery-1.7.2.min.js"></script> <script> $.ajax({ url:"http://localhost/xiaoshixun2/rikao/shop/ui.php?callback=testlogin", dataType:'jsonp', jsonpCallback:'testlogin', success:function(txt){ } }); </script><?php}else{ ?> <input type="text" name="username"/> <input type="text" name="pwd"/> <input type="submit" value="登录" onclick="login()"/> <script src="jquery-1.7.2.min.js"></script> <script> function login(){ var u=$("input[name=username]").val(); var p=$("input[name=pwd]").val(); $.ajax({ url:"http://localhost/xiaoshixun2/rikao/web1/ucserver.php?username="+u+"&pwd="+p+"&callback=testlogin", dataType:'jsonp', jsonpCallback:'testlogin', success:function(txt){ if(txt.error==0){ location.href="ui.php?u="+txt.data.u+"&login="+txt.data.login; } else{ alert(txt.msg); } } }); } </script><?php}?>//新建ui.php<?phpsession_start();$_SESSION['login_getinfo']=true;$rs['error']=0;if(isset($_GET['callback'])){exit($_GET['callback']."(".json_encode($rs).")");}else{ header('location:login.php');}//新建exitlogin.php<?phpsession_start();session_destroy();header('location:login.php');//新建curl.php<?php$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'http://localhost/xiaoshixun2/rikao/shop/ui.php');curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_exec($ch);curl_close($ch);
0 0
- 单点登录(手写php代码)
- 手写SSO实现单点登录
- php单点登录SSO
- php cas单点登录
- php版本单点登录
- php单点登录
- PHP不到100行代码实现SSO单点登录
- PHP不到100行代码实现SSO单点登录
- php的sso单点登录实现方法,代码实例!
- 单点登录代码整理
- sso单点登录PHP实现
- php单点登录实现demo
- php实现单点登录demo
- 使用php实现单点登录
- php单点登录实现demo
- php单点登录实现demo
- php实现单点登录实例
- php简单的单点登录
- Struts2中关于"There is no Action mapped for namespace / and action name"的错误解决
- Linux中一些常用命令
- 我花50元赚来190元的贴吧推广经验
- oracle用expdp导出数据库用户
- selenium:chromedriver与chrome版本的对应关系
- 单点登录(手写php代码)
- 圈复杂度
- 图片超过边框大小时截取图片中间部分
- Android广告图片轮播控件,支持无限循环和5种主题,可以灵活设置轮播样式、时间、位置、图片加载框架等!
- 存储过程的调用
- ListView的一些属性
- 第一章 C语言编程(Ivor Horton)
- idea 鼠标悬浮时显示文档信息提示框
- 访问我的github博客sanjay-f.github.io