PHP调用discuz登陆框实现外部登录
方法一,直接使用iframe调用一个加了discuz登录功能的页面
代码如下 | 复制代码 |
<iframe src="/login.html" style="width:100%; height:32px" scrolling="no" frameborder="0" ></iframe> |
login.html代码
代码如下 | 复制代码 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> </head> |
方法二,利用php方式调用了
在自定义的PHP页面里加入discuz登陆框。PHP如何调用discuz登陆框。
代码如下 | 复制代码 |
<?php error_reporting(0); require 'source/class/class_core.php'; $discuz = & discuz_core::instance(); $discuz->init(); if (empty($_G['uid'])) { ?> <form target="_blank" action="member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes" method="post" name="form2" onSubmit="return check()"> <span>用户名:<input name="username" type="text" id="textfield2" size="13" tabindex="1" value="请输入用户名" onFocus="this.value='';" onBlur="if(this.value==''){this.value='请输入用户名';}"> 密码:<input name="password" type="password" id="password" size="12"> <input type="submit" name="button2" id="button2" value="登录" onClick="setTimeout('window.location.reload()', 2000)"> <a href="member.php?mod=register" target="_blank">注册</a> <a href="member.php?mod=logging&action=login&viewlostpw" target="_blank">找回密码</a> <input type="hidden" name="referer" value="/" /></span> </form> <?php } else { ?> <div> 尊敬的<a href="home.php?mod=space&uid=<?php echo $_G['uid']; ?>&do=profile" target="_blank"><? echo $_G['username']; ?></a>,欢迎您光临!  | <a href="home.php?mod=space&do=thread&view=me" target="_blank">我的帖子</a> |  <a href="home.php" target="_blank">个人中心</a> |  <a href="member.php?mod=logging&action=logout&formhash=<? echo FORMHASH;?>" target="_blank" onClick="setTimeout('window.location.reload()', 2000)">退出登陆</a> </div> <?php }?> |
方法三:discuz登陆框是ajax调用的,一开始在firebug下看到了调用了接口:
代码如下 | 复制代码 |
/member.php ?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login |
这返回的是一个xml的内容,其中就一个结点root,里面会根据本地的cookies判断是否登录了论坛,如果没有登陆
里面的内容就是一段form登陆表单。如果登陆了里面就是一段登陆后的信息。然后将ajax请求中的css保存到本
地。能够实现登陆框调用。登陆框中有一个hidden的input name=‘reffer’ 这里面的value值是来路链接.不过要是
论坛程序里的。比如将这个连接换成h/home.php?mod=spacecp&ac=blog这样登陆完后会
自动跳转到发博客的页面。可以实现一键发帖功能。
代码如下:
代码如下 | 复制代码 |
<?php |
例1
代码如下 | 复制代码 |
// 判断是否保留二级数组键 (所有二级数组键必须相同) //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 //去掉重复的字符串,也就是重复的一维数组 //再将拆开的数组重新组装 return $output; $array2D = array( echo "<pre>"; /** function array_remove_key($array,$keys){ } function array_remove_key_val(&$a,$b,$c){ |
例2
代码如下 | 复制代码 |
/二维数组去掉重复值
|
PHP 跳转
代码如下 | 复制代码 |
<?php |
header函数使用
PHP页面跳转一、header()函数
header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。
header()函数的定义如下:
void header (string string [,bool replace [,int http_response_code]])可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。
第二个可选参数http_response_code强制将HTTP相应代码设为指定值。 header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转。注意:1.location和“:”号间不能有空格,否则不会跳转。
2.在用header前不能有任何的输出。
3.header后的PHP代码还会被执行。例如,将浏览器重定向到冠威博客
代码如下 | 复制代码 |
< ?php |
PHP页面跳转二、Meta标签
Meta标签是HTML中负责提供文档元信息的标签,在PHP程序中使用该标签,也可以实现页面跳转。 若定义http-equiv为refresh,则打开该页面时将根据content规定的值在一定时间内跳转到相应页面。
若设置content=”秒数;url=网址”,则定义了经过多长时间后页面跳转到指定的网址。例如,使用meta标签实现疫苗后页面自动跳转到冠威博客。
代码如下 | 复制代码 |
< meta http-equiv="refresh" content="1;url=http://www.111cn.net"> |
例如,以下程序meta.php实现在该页面中停留一秒后页面自动跳转到www.111cn.net。
代码如下 | 复制代码 |
<?php |
PHP页面跳转三、JavaScript(常用、推荐)
例如,此代码可以放在程序中的任何合法位置。
代码如下 | 复制代码 |
<?php |
附一些js跳转方法
JavaScript 跳转
方法一:
代码如下 | 复制代码 |
<script language="javascript"> window.location= "http://www.111cn.net"; </script> |
方法二:
代码如下 | 复制代码 |
<script language="javascript"> |
ASP 跳转
代码如下 | 复制代码 |
<% |
代码如下 | 复制代码 |
*/ $unitArr = array( '年' => 'year' , '个月' => 'month' , '周' => 'week' , '天' => 'day' , foreach ( $unitArr as $cn => $u ) return $elapse ; $past = 2052345678 ; // Some timestamp in the past echo '发表于' . time2Units ( $diff ) . '前' ; |
windows+apache+php环境
在apache最常见的PHP上传文件大小限制是通过 php.ini 配置文件定义的,通过修改以下三个字段的值,重新启用服务器端程序(如 apache),便可成功修改PHP上传文件的大小限制:
upload_max_filesize = 8M
post_max_size = 10M
memory_limit = 20M
具体配置如下
在php.ini里查找
代码如下 | 复制代码 |
max_execution_time |
默认是30秒.改为
代码如下 | 复制代码 |
max_execution_time = 0 |
0表示没有限制
以上修改的是php上传文件中脚本执行超时时间
2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到php上传文件。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为
代码如下 | 复制代码 |
post_max_size = 150M |
3. 很多人都会改了第二步.但php上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为
代码如下 | 复制代码 |
upload_max_filesize = 100M |
另外要说明的是在php文件上传中,post_max_size 大于 upload_max_filesize 为佳.
nginx+php上传文件大小配置修改
以前用php上传文件,先是修改php.ini的设置,前些日子服务器换了环境(采用nginx+php),今天突然发现稍大一点的文件不能上传了,纠结 半天,终于找到是nginx的client_max_body_size配置选项值造成的413错误。现在分享一下处理方法。
问题说明:
php.ini配置文件中upload_max_filesize设置为50M
post_max_size设置的值为100M
但是上传超过10兆的文件就会返回uploaderror 413错误。
服务器环境:
centos5.7 32位
nginx1.0.8
php5.2.17
解决方法:
1、如果你上传文件限制为50兆,则先修改php.iniupload_max_filesize 50M
代码如下 | 复制代码 |
post_max_size 100M |
2、然后修改nginx配置文件中:
这个配置选项值默认是1m,可以增加到8m以增加提高文件大小限制,我这里直接修改为100了,具体情况可根据自己的需求设置。(参 考:client_max_body_size大小要和php.ini中的upload_max_filesize、post_max_size中的最大 值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。)
代码如下 | 复制代码 |
client_max_body_size 100m; |
相关文章
- 在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页...2016-11-25
- 本文章完美的利用了php的curl功能实现模拟登录discuz以及模拟发帖,本教程供参考学习哦。 代码如下 复制代码 <?php $discuz_url = ‘ht...2016-11-25
- 过了这么久,discuz论坛的问题还是困扰着很多网友,其实从各论坛里看到的问题总结出来,很关键的一点都是因为没有将数据表引擎转成InnoDB导致的,discuz在并发稍微高一点的环境下就表现的非常糟糕,产生大量的锁等待,这时候如果...2015-11-24
Ruby on Rails实现最基本的用户注册和登录功能的教程
这里我们主要以has_secure_password的用户密码验证功能为中心,来讲解Ruby on Rails实现最基本的用户注册和登录功能的教程,需要的朋友可以参考下...2020-06-30- 什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
- 什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
- 【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
- 这篇文章主要为大家详细介绍了vue实现用户登录切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-04-22
- 出现phpmyadmin不能登录是我在修改我mysql服务器密码之后导致的,后来百度了相关的原因,原来是修改了mysql密码之后我们还需要在phpmyadmin目录中去修改config.inc.php中...2016-11-25
- 本文章来给大家详细介绍在php中如何来调用执行mysql存储过程然后返回由存储过程返回的值了,有需要了解的同学可进入参考。 。调用存储过程的方法。 a。如果存储过...2016-11-25
- 这篇文章主要介绍了浅谈js二维码扫码登录是什么原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
Vue-Element-Admin集成自己的接口实现登录跳转
关于这个Vue-element-admin中的流程可能对于新的同学不是很友好,所以本文将结合实例代码,介绍Vue-Element-Admin集成自己的接口实现登录跳转,感兴趣的小伙伴们可以参考一下...2021-06-23- 方法一:直接调用复制代码 代码如下:<? /******************************************************************************/ /* 文件名 : soapclient.php /* 说 明 : WebService接口客户端例程 /****************...2014-06-07
- 昨天有一朋友说自己的phpmyadmin不能登录并且无任何提示了,问我怎么解决,下面我来分享一下关于phpmyadmin不能登录问题总结. phpmyadmin不能登录没有提示 解决方法:...2016-11-25
- session在php中是一个非常重要的东西,像我们用户登录一般都使用到session这个东西,相对于cookie来说session 要安全很多,同时我们购物车经常使用session来做临时的记录保存哦。使用session保存页面登录信息1、数据库连接...2015-10-21
- cookie 的用途之一是存储用户在特定网站上的密码和 id。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量...2016-11-25
- 这篇文章主要介绍了SpringBoot登录拦截配置详解(实测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-22
Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法
这篇文章主要介绍了Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法,需要的朋友可以参考下...2016-11-01- 这篇文章主要给大家介绍了关于微信小程序授权登录的优雅处理方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
- 这篇文章主要为大家详细介绍了vue实现登录验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-13