仓酷云

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

[学习教程] PHP网页设计php采取数据库保留session

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:00:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
最近陆续的有人问我学习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:29 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
老尸 该用户已被删除
板凳
发表于 2015-2-9 19:21:42 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
再现理想 该用户已被删除
地板
发表于 2015-2-12 10:37:44 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
深爱那片海 该用户已被删除
5#
发表于 2015-3-3 02:03:21 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
精灵巫婆 该用户已被删除
6#
发表于 2015-3-6 23:26:24 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
简单生活 该用户已被删除
7#
发表于 2015-3-11 08:05:23 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
乐观 该用户已被删除
8#
发表于 2015-3-15 21:08:46 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
山那边是海 该用户已被删除
9#
发表于 2015-3-22 04:17:35 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
海妖 该用户已被删除
10#
发表于 2015-3-27 07:08:13 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
小魔女 该用户已被删除
11#
发表于 2015-4-7 12:27:13 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
再见西城 该用户已被删除
12#
发表于 2015-4-14 21:57:26 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
分手快乐 该用户已被删除
13#
发表于 2015-4-21 04:09:40 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
若相依 该用户已被删除
14#
发表于 2015-4-26 16:44:37 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
莫相离 该用户已被删除
15#
发表于 2015-5-1 15:10:43 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
活着的死人 该用户已被删除
16#
发表于 2015-5-3 14:40:39 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
只想知道 该用户已被删除
17#
发表于 2015-5-5 20:38:14 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
若天明 该用户已被删除
18#
发表于 2015-5-6 17:11:49 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
愤怒的大鸟 该用户已被删除
19#
发表于 2015-6-6 06:37:45 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
小女巫 该用户已被删除
20#
 楼主| 发表于 2015-7-9 22:11:32 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-29 03:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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