|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最近陆续的有人问我学习php的心得,现在整理为下面,希望可以对大家有些帮助。session|办事器 起首引见一下session的概念:
所谓session是微软起首提出的,在asp中最早集成。因为session的采取,大小气便了web开辟员的任务。一工夫asp风行全球。如今php4也到场session的撑持,再度显示出open source 的壮大力气。和Cookie相似,设计Session的目标也是为了在一个会见时代在分歧的页面间传输数据以处理http协定无形态的成绩,但Session加倍复杂、加倍平安。Session 中文没有一个一致的译法,我习气上译为会话。关于session的意义人人都应当清晰: 实际上是在阅读某个网站时,在阅读器没有封闭的情况之下,一个web使用的入手下手和停止。一个session可以包含数次http的恳求和应对,好比咱们用freemail.263.net,从login到logout或超时就作为一个session 的保存期。每个被创立的Session都有一个独一的标识串,叫session ID , 这个串被发送到客户端,同时在办事器端也生成了一样独一的标识串进口,这个标识串或放在文本文件中,或放在一个数据库中。然后法式可以在这个sessionID下注册一些Session 变量。这些变量好像普通的变量一样可以保留文本或数值信息,可以经由过程Session被读出或写入。 session 的独一标识通常为在体系外部独一的session ID,通常为一个挺长的字符串。
成绩的提出:
解了session概念后,我在为我单元编写一个进销存体系中发明需求让多个用户可以同时进入一个php使用法式。本来设计的静态的独一的session ID招致数据凌乱。如许,静态生成一个独一的session ID成为燃眉之急。
处理举措很复杂:我用了php文件名+工夫戳为独一的session ID,如许在我的法式中的每一个session就各就列位,不再凌乱了。
上面把我的源代码发布,便利也有一样的成绩的伴侣多一个处理办法。
//Start a PHP session to preserve variables.
if ( empty($mysessionname) ) {
$micro = microtime();
$micro = str_replace(" ","",$micro); // strip out the blanks
$micro = str_replace(".","",$micro); // strip out the periods
$mysessionname = "po_maint" . $micro;
}
session_name($mysessionname);
session_start();
法式正文:
我用mysessionname为页面间独一的sessionname传递变量,假如你也用到这个名字必需把上述法式做个小小的修改。Mysessionname不克不及为session的外部变量名,由于他在session入手下手之前就已存在了。Mysessionname也不克不及用cookie体例寄存,由于多个session一定会掩盖失落本来的cookie文件。你可以用隐含表单的域来保留它。如许就不会有成绩。接待来信会商。让咱们一同做得更好。 培训的第一阶段,学习的是HTML/CSS/JavaScript基础。 |
|