关于360浏览器下,论坛密码正确无法登陆的问题
[ 2014-04-21 15:56:06 | 作者: admin ]
这应该也不是360浏览器独有的现象
在360浏览器安装和升级的时候,会导入IE保存的cookie
而当IE下保存的cookie未指定域的时候,360会为其指定一个域 形如 .bbs.xg98.com
这其实就成了新的cookie,而不是原来的cookie了,所以程序识别不到。
当用户重新登陆的时候,浏览器会优先读取指定了域的cookie,而导致未指定域的cookie读取不到,所以无论新增还是更新重新登陆都无效。
这个时候只有手动清楚cookie,或者使用程序删除掉指定域的部分cookie,程序才能自动读取未指定域的cookie,不用重新登陆即生效。
在360浏览器安装和升级的时候,会导入IE保存的cookie
而当IE下保存的cookie未指定域的时候,360会为其指定一个域 形如 .bbs.xg98.com
这其实就成了新的cookie,而不是原来的cookie了,所以程序识别不到。
当用户重新登陆的时候,浏览器会优先读取指定了域的cookie,而导致未指定域的cookie读取不到,所以无论新增还是更新重新登陆都无效。
这个时候只有手动清楚cookie,或者使用程序删除掉指定域的部分cookie,程序才能自动读取未指定域的cookie,不用重新登陆即生效。
PHP图形验证码无法显示的原因
[ 2014-04-04 11:11:45 | 作者: admin ]
一、如果是utf-8,就有可能是BOM没有清除
二、在Header("Content-type: image/PNG"); 之前有输出
三、第一行PHP隐藏了代码,如空格,回车等。
解决代码:
阅读全文…
二、在Header("Content-type: image/PNG"); 之前有输出
三、第一行PHP隐藏了代码,如空格,回车等。
解决代码:
<?php
session_start(); //启动Session会话
$image_width=70; //设置图像宽度
$image_height=18; //设置图像高度
ob_clean();
$new_number=$_GET[num];
//$new_number=5;
$num_image=imagecreate($image_width,$image_height); //创建一个画布
imagecolorallocate($num_image,255,255,255); //设置画布的颜色
...session_start(); //启动Session会话
$image_width=70; //设置图像宽度
$image_height=18; //设置图像高度
ob_clean();
$new_number=$_GET[num];
//$new_number=5;
$num_image=imagecreate($image_width,$image_height); //创建一个画布
imagecolorallocate($num_image,255,255,255); //设置画布的颜色
阅读全文…
今天关于一个缓存类的改写和使用错误记录
[ 2014-01-26 12:32:52 | 作者: admin ]
这个php缓存类是一直自己使用的,也很方便。
原本是使用序列化保存的,也就是serialize()后保存到文件,然后读取文件后 unserialize()
因为在效率上unserialize比直接require要慢,所以就把类改写为直接数组保存。
写数组明文到文件
在读取函数犯了一个错误,类的read函数中直接require_once,发现外部一直无法直接用$data,后来一想类里面是插入了局部变量,需要传递出去,
return $data;
之后问题解决,调试的痛苦无处不在。
原本是使用序列化保存的,也就是serialize()后保存到文件,然后读取文件后 unserialize()
因为在效率上unserialize比直接require要慢,所以就把类改写为直接数组保存。
写数组明文到文件
$data = array(1,2,3,4);
$content = var_export($data,true) . ";"; //末尾不要加上忘记分号
$content = var_export($data,true) . ";"; //末尾不要加上忘记分号
在读取函数犯了一个错误,类的read函数中直接require_once,发现外部一直无法直接用$data,后来一想类里面是插入了局部变量,需要传递出去,
return $data;
之后问题解决,调试的痛苦无处不在。
SEO优化:仿地宝网URL伪静态版块目录化和贴子目录化
[ 2014-01-07 16:19:13 | 作者: admin ]
在《百度搜索引擎优化指南》2.1.2 网站结构里提到,合理的网站结构应该是一个扁平的树型网状结构。而且大家都应该知道权重方面:二级域名>目录>静态页>动态页
那么什么是扁平的树型网状结构呢?
首页:http://www.moke8.com
栏目页:http://www.moke8.com/discuzx/
内容页:http://www.moke8.com/discuzx/m826/
像这样的页面就是一个“扁平的树型网状结构”。每增加一个内容页,都会给栏目页增加一定的权重。像地宝网的URL就是很规范的,整站URL目录化,目录层次不超过2个。对于seo是很有利的。
那么现在discuz官方的地址是怎么样的呢?
首页:http://www.discuz.net/forum.php
栏目页:http://www.discuz.net/forum-21-1.html
...
阅读全文…
那么什么是扁平的树型网状结构呢?
首页:http://www.moke8.com
栏目页:http://www.moke8.com/discuzx/
内容页:http://www.moke8.com/discuzx/m826/
像这样的页面就是一个“扁平的树型网状结构”。每增加一个内容页,都会给栏目页增加一定的权重。像地宝网的URL就是很规范的,整站URL目录化,目录层次不超过2个。对于seo是很有利的。
那么现在discuz官方的地址是怎么样的呢?
首页:http://www.discuz.net/forum.php
栏目页:http://www.discuz.net/forum-21-1.html
...
阅读全文…
PHP下使用SimpleXML处理XML文件
[ 2013-12-23 14:57:47 | 作者: admin ]
1 SimpleXML 简介
要处理XML 文件,有两种传统的处理思路:SAX 和DOM。SAX 基于事件触发机制,
对XML 文件进行一次扫描,完成要进行的处理;DOM 则将整个XML 文件构造为一棵DOM
树,通过对DOM 树的遍历完成处理。这两种方法各有优缺点,SAX 的处理思路相对抽象,
DOM 的处理过程相对烦琐,都不很适合新手的入门。
PHP5 推出了一套新的XML 处理函数,即SimpleXML。名如其实,SimpleXML 本身小
巧精干,只提供了少量的几个方法函数,但用它处理起XML 文件功能却非常强大,操作也
非常的简单。
首先,它提供有简单的函数可以从XML 文档、字符串、或DOM 对象上直接构造出
SimpleXMLElement 对象;其次,SimpleXMLElement 提供有简单的方法可以进行属性、子节
点、和XPath 的操作;然而,SimpleXML 最简单的地方是,它提供有使用标准对象的属性和
...
阅读全文…
要处理XML 文件,有两种传统的处理思路:SAX 和DOM。SAX 基于事件触发机制,
对XML 文件进行一次扫描,完成要进行的处理;DOM 则将整个XML 文件构造为一棵DOM
树,通过对DOM 树的遍历完成处理。这两种方法各有优缺点,SAX 的处理思路相对抽象,
DOM 的处理过程相对烦琐,都不很适合新手的入门。
PHP5 推出了一套新的XML 处理函数,即SimpleXML。名如其实,SimpleXML 本身小
巧精干,只提供了少量的几个方法函数,但用它处理起XML 文件功能却非常强大,操作也
非常的简单。
首先,它提供有简单的函数可以从XML 文档、字符串、或DOM 对象上直接构造出
SimpleXMLElement 对象;其次,SimpleXMLElement 提供有简单的方法可以进行属性、子节
点、和XPath 的操作;然而,SimpleXML 最简单的地方是,它提供有使用标准对象的属性和
...
阅读全文…
php使用json,解码返回为空null的情况
[ 2013-09-22 15:24:51 | 作者: admin ]
php的decode_json需要注意
1、不能有多余的逗号
2、名值对全部使用双引号
1、不能有多余的逗号
2、名值对全部使用双引号
[
{"title"=>"aaa"},
{"title"=>"bbb"}
]
{"title"=>"aaa"},
{"title"=>"bbb"}
]
PHP“Cannot use object of type stdClass as array”
[ 2013-09-22 15:24:06 | 作者: admin ]
php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误
错误:
Cannot use object of type stdClass as array
产生原因:
+展开
-PHP
$res = json_decode($res);
$res['key']; //把 json_decode() 后的对象当作数组使用。
解决方法(2种):
1、使用 json_decode($d, true)。就是使json_decode 的第二个变量设置为 true。
2、json_decode($res) 返回的是一个对象, 不可以使用 $res['key'] 进行访问, 换成 $res->key 就可以了。
参考手册:json_decode
Return Values:Returns ...
阅读全文…
错误:
Cannot use object of type stdClass as array
产生原因:
+展开
-PHP
$res = json_decode($res);
$res['key']; //把 json_decode() 后的对象当作数组使用。
解决方法(2种):
1、使用 json_decode($d, true)。就是使json_decode 的第二个变量设置为 true。
2、json_decode($res) 返回的是一个对象, 不可以使用 $res['key'] 进行访问, 换成 $res->key 就可以了。
参考手册:json_decode
Return Values:Returns ...
阅读全文…
纯基于PHP的单点登陆
[ 2013-08-30 16:34:14 | 作者: admin ]
http://developer.51cto.com/art/200706/49481.htm
【引自纯月的博客】Discuz有一个通行证,类似于单点登陆。不过我觉得单点登陆最好应该是一个独立的程序,和CAS一样。由于所有的程序都是PHP的,所以就做了一个简单的单点登陆。借用了一下discuz的加密方法。
用户有以下几种情况会直接访问本系统:
1、用户直接访问passport,希望登陆
2、用户从passport_app上点击登陆按钮转过来的
3、用户从passport_app1转到passport_app2时候,passport_app2转过来的
4、用户直接输入访问passport_app的URL
2 3 4或者有referer,或者有fromurl的参数
====
1 使用通行证的应用程序上面的登陆按钮全部指向下面的链接:http://localhost/passport/login.php
...
阅读全文…
【引自纯月的博客】Discuz有一个通行证,类似于单点登陆。不过我觉得单点登陆最好应该是一个独立的程序,和CAS一样。由于所有的程序都是PHP的,所以就做了一个简单的单点登陆。借用了一下discuz的加密方法。
用户有以下几种情况会直接访问本系统:
1、用户直接访问passport,希望登陆
2、用户从passport_app上点击登陆按钮转过来的
3、用户从passport_app1转到passport_app2时候,passport_app2转过来的
4、用户直接输入访问passport_app的URL
2 3 4或者有referer,或者有fromurl的参数
====
1 使用通行证的应用程序上面的登陆按钮全部指向下面的链接:http://localhost/passport/login.php
...
阅读全文…