find:
set_magic_quotes_runtime(0);
replace with:
ini_set(”magic_quotes_runtime”, 0);
Archive for the 'php' Category
Function set_magic_quotes_runtime() is deprecated
Published by jamesbin 3月 29th, 2010 in php. 0 Comments1.概要
若返回是UTF-8,用responseText接收;
若返回EUC-CN(GB2312),用responseBody接收,并用bytes2BSTR()转码
如果返回的是NCR,则无关xmlhttp接收属性,均可正常显示
2.后台程序的编码方式
后台处理程序若是用非UTF-8编码保存,则需要将其输出字符串用
mb_convert_encoding([str], “UTF-8″ [, mixed from_encoding])
编码为UTF-8,才可用reponseText接收
后台处理程序若用UTF-8编码保存,则需要
mb_convert_encoding([str], “EUC-CN” [, mixed from_encoding])
编码为GB2312,才能用responseBody转码接收
3.前台程序的编码方式
前台页面的编码方式与responseText/responseBody返回内容的编码方式无关,
即前台总能正常显示返回内容
无论前台页面何种方式编码,经过xmlhttp方式传递后的编码总为gb2312(EUC-CN)
4.提交时的处理方法
post提交时
需要用url编码(URLEncoding)
var oReq = new ActiveXObject(”Microsoft.XMLHTTP”);
var strA = URLEncoding(”a=” + frm.txt1.value + ‘&b=’ + frm.txt2.value);
oReq.open(”POST”, “xmlhttp_post_process.htm”, false);
oReq.setRequestHeader(”Content-Length”, strA.length);
oReq.setRequestHeader(”CONTENT-TYPE”, “application/x-www-form-urlencoded”);
oReq.send(strA);
后台才能用mb_convert_encoding编码成NCR形式:
mb_convert_encoding([str], “HTML-ENTITIES”, “EUC-CN”)
EUC-CN(GB2312)为处理程序默认的编码方式
get提交时,可无需url编码
Session储存于服务器端(默认以文件方式存储session),根据客户端提供的session id来得到用户的文件,取得变量的值,session id可以使用客户端的Cookie或者Http1.1协议的Query_String(就是访问的URL的“?”后面的部分)来传送给服务器,然后服务器读取Session的目录……。也就是说,session id是取得存储在服务上的session变量的身份证。当代码session_start();运行的时候,就在服务器上产生了一个session文件,随之也产生了与之唯一对应的一个session id,定义session变量以一定形式存储在刚才产生的session文件中。通过session id,可以取出定义的变量。跨页后,为了使用session,你必须又执行session_start();将又会产生一个session文件,与之对应产生相应的session id,用这个session id是取不出前面提到的第一个session文件中的变量的,因为这个session id不是打开它的“钥匙”。如果在session_start();之前加代码session_id($session id);将不产生新的session文件,直接读取与这个id对应的session文件。
PHP中的session在默认情况下是使用客户端的Cookie来保存session id的,所以当客户端的cookie出现问题的时候就会影响session了。必须注意的是:session不一定必须依赖cookie,这也是session相比cookie的高明之处。当客户端的Cookie被禁用或出现问题时,PHP会自动把session id附着在URL中,这样再通过session id就能跨页使用session变量了。但这种附着也是有一定条件的,即“php.ini中的session.use_trans_sid = 1或者编译时打开打开了–enable-trans-sid选项”。
用过论坛的朋友都知道,在进入论坛的时候,往往会提示你检查Cookie是否打开,这是因为大多数论坛都是基于Cookie的,论坛用它来保存用户名、密码等用户信息,方便使用。而且很多朋友都认为Cookie不安全(其实不是这样),往往禁用它。其实在PHP程序中,我们完全可以用SESSION来代替Cookie,它可以不依赖于客户端是否开启Cookie。
所以,我们可以抛开cookie使用session,即假定用户关闭cookie的情况下使用session,其实现途径有以下几种:
1、设置php.ini中的session.use_trans_sid = 1或者编译时打开打开了–enable-trans-sid选项,让PHP自动跨页传递session id。
2、手动通过URL传值、隐藏表单传递session id。
3、用文件、数据库等形式保存session_id,在跨页过程中手动调用。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/drylandfish/archive/2005/01/07/244085.aspx
譬如变量$_POST['xx'];
extract后
该变量就成为$xx;
具体用法摘自手册
int extract ( array var_array [, int extract_type [, string prefix]] )
本函数用来将变量从数组中导入到当前的符号表中。接受结合数组 var_array 作为参数并将键名当作变量名,值作为变量的值。对每个键/值对都会在当前的符号表中建立变量,并受到 extract_type 和 prefix 参数的影响。
zend 5.1在win7下面界面有些问题,把兼容性改成vista就可以了。
把互联网上的所有基于 CI 的开源项目都集合起来,为大家学习框架,更深层次的掌握框架的用法提供一些帮助,也希望大家提供开源项目的线索,一起完善这个大全!
注:所收集的项目排名不分先后。
名称:IT Project Guide - Risk Management
介绍:项目管理的重点是风险跟踪和减少风险。基于 PHP、MySQL、CodeIgniter 和 jQuery 开发。非常 Ajax 的清爽用户界面。基于 Web 的客户和团队项目管理工具。
官方:http://itprojectguide.org/main/products/RiskManagement
名称:MyFina - Personal Finance Manager
介绍:MyFina 是一个基于 Web 的管理帐目和费用的个人财务和预算程序。该系统针对那些很少或没有财务背景的人,掌控他们的钱。该系统使用 PHP(CodeIgniter) & MySQL 构建。
官方:http://myfina.ridinglinux.org
名称:EasySNS
介绍:EasySNS 是一个开放式的组件化 SNS 平台,只需要简单的选择和拖拽,您就可以轻松搭建一个无缝集成内容,社区,订单系统等功能的 web 2.0 网站。
官方:http://code.google.com/p/easysns/
http://easysns.com/
名称:BackendPro
介绍:BackendPro 是一个为 CodeIgniter 开发者设计的控制台,不是像 CMS 般提供现成的系统,它只提供系统的一部份。它提供一些会重复性使用的功能,像是认证、权限与管理介面基本的画面。使用现有的 PHP 与 CodeIgniter 知识可以藉由 BackendPro 建立完整的网站,你可以更专注在应用本身,而非一些系统管理功能。
官方:http://www.kaydoo.co.uk/projects/backendpro
名称:BambooInvoice
介绍:BambooInvoice 是一个为小型企业和独立承包商编写的发票系统,它是免费、开放源代码的。我们的首要目标是易用性、用户界面和编写基于 CodeIgniter 框架的优雅代码。
官方:http://www.bambooinvoice.org/
名称:Blogmer
介绍:Blogmer is an Open Source blog package developed in [...]
php5中session_register(),session_unregister ,session_is_registered在php5下不再使用;今天碰到一个问题,本以为session中的值是数组,后来经过测试发现在是tng框架对seesion值进行了封装。
数组转换成字符串函数 impode
string implode ( string glue, array pieces )
Returns a string containing a string representation of all the array elements in the same order, with the glue string between each element。
在php4以上的版本可以用以下方法:
方法一:使用array_merge()函数。例如,将$ar1、$ar2、$ar3三个数组合并起来:
$ar_new = array_merge($ar1,$ar2,$ar3);
结果是,$ar_new包含了$ar1等三个数组的全部元素。
方法二:使用array_merge_recursive()函数。其语法结构与方法一的array_merge()函数一样,合并效果也一致。当多个数组间有相同的元素时,这个函数可能更能保证这些元素绝对不会丢失(recursive意为递归,与merge在一处使用大意是递归合并):
$ar_new = array_merge_recursive($ar1,$ar2,$ar3);
上例的效果是将 $ar1 等三个数组合并成一个数组 $ar_new。
round($result/$nums*100,2).”%”如此而已
最近评论