仓酷云

标题: PHP网页设计php采取数据库保留session [打印本页]

作者: 小女巫    时间: 2015-2-4 00:00
标题: PHP网页设计php采取数据库保留session
最近陆续的有人问我学习php的心得,现在整理为下面,希望可以对大家有些帮助。     php保留session 默许的是采取的文件的体例来保留的,这仅仅在文件的空间开支很小的windows上是可以采取的,然而假如咱们采取uinx或是liux上的文件体系的时分,如许的文件体系的文件空间开支是很大的,但是session是要每时每刻的利用的,大批的用户酒药创立良多的session文件,如许对全部的办事器带来功能成绩,另外一方面,假如办事器起采取群集的体例的话就不克不及坚持session的分歧性,所以咱们停当要采取数据库的体例来保留session,如许,不论有几台办事器同时利用,只需把他们的session保留在一台数据库办事器上就能够保留session的完全了,详细若何来完成请持续看下去。
  php的session默许的情形下是采取的文件体例来保留的,咱们在php的配制文件php.ini中可以看到如许的一行,session.save_handler="files",如许的意思就是采取文件来保留session 的,要采取数据库来保留的话,咱们需求修正成反对形式,改称 session.save_handler="use"就能够了,然而,这仅仅是申明我门没有采取文件的体例存储session,咱们还要选择数据库和创立数据库的表。
  创立数据库和数据库的表布局,咱们可以采取php可使用的任何的数据库,由于php和mysql的联合最好,我就利用mysql来干事例,固然依据你的需求可以改称其余数据库,同时由于mysql没有事物的功效,这也比其余数据库更快,但是保留session 书、一 不准要事物处置的,再者里我决的更好。
  创立数据库  ,    CREATE DATABASE 'session'; 创立表布局 CREATE TABLE 'session'( id CHAR(30) NOT NULL  , 'user 'CHAR(30), data CHAR(3000) ,PARMIRY BY ('id') );
编写php文件
<?php
$con =mysql_connection("127.0.0.1","user" , "pass");
        mysql_select_db("session");
function open($save_path, $session_name)
{
    return(true);
}
function close()
{
  return(true);
}
function read($id)
{
   if($result = mysql_query("SELECT * FROM session WHERE id='$id'"))
     {
        if($row = mysql_felth_row($result ))
           {  return $row["data"]; }
      }
   else
     {
      return "";
      }
}
function write($id, $sess_data)
{
  if($result = mysql_query("UPDATE session SET data='$sess_data' WHERE id='$id'"))
     {
        return true;
      }
   else
     {
      return false;
      }
}
function destroy($id)
{
if($result = mysql_query("DELETE * FROM  session WHERE id='$id'"))
     {
        return true;
      }
   else
     {
      return false;
      }
}
/*********************************************
* WARNING - You will need to implement some *
* sort of garbage collection routine here.  *
*********************************************/
function gc($maxlifetime)
{
  return true;
}
session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
session_start();
// proceed to use sessions normally
?>
  保留成为session_user_start.php。
  如今咱们的任务就已完成了,只需你在需求在利用session的时分,把session_user_start.php。包括出去,注重,这个文件必定要在文件的第一行包括,然后就想利用文件的session一样的办法利用旧可以了。
  本文写的仓皇,假如有不合错误的中央请你提出名贵的定见。接待你的匡正。
熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-
作者: 冷月葬花魂    时间: 2015-2-4 07:57
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 老尸    时间: 2015-2-9 19:21
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 再现理想    时间: 2015-2-12 10:37
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 深爱那片海    时间: 2015-3-3 02:03
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 精灵巫婆    时间: 2015-3-6 23:26
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 简单生活    时间: 2015-3-11 08:05
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 乐观    时间: 2015-3-15 21:08
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 山那边是海    时间: 2015-3-22 04:17
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 海妖    时间: 2015-3-27 07:08
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 小魔女    时间: 2015-4-7 12:27
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 再见西城    时间: 2015-4-14 21:57
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 分手快乐    时间: 2015-4-21 04:09
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 若相依    时间: 2015-4-26 16:44
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 莫相离    时间: 2015-5-1 15:10
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 活着的死人    时间: 2015-5-3 14:40
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 只想知道    时间: 2015-5-5 20:38
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 若天明    时间: 2015-5-6 17:11
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 愤怒的大鸟    时间: 2015-6-6 06:37
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 小女巫    时间: 2015-7-9 22:11
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 飘飘悠悠    时间: 2015-7-12 13:34
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2