仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1472|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之php完成多session并发运转

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:19:38 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。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文件。你可以用隐含表单的域来保留它。如许就不会有成绩。接待来信会商。让咱们一同做得更好。
  从刚开始练习的PHP基础语法练习,到PHP语言在WEB中的应用,再到实际的项目开发,如留言版,相册系统,中小型公司网站系统,以及期间做过的有关团队合作的小游戏,让我受益匪浅,学到了很多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-27 12:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表