仓酷云

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

[学习教程] PHP网站制作之把Session放入MySql

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

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

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

x
可以说你的马步已经扎的差不多了,接下来就要开始练把势的时候了,如果有条件的话,用笔或者打印一个简易的PHP手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。mysql|session   session凡是放在/tmp目次下,而该文件夹的权限是everbody可读,这个就十分恐怖了!黉舍的服装论坛已经就有人经由过程session来窃取帐号!所今后来就测验考试把session放入数据库,表的布局和进程以下:
//创立表
//create sesslib.sql
CREATE TABLE sesslib (
  data text,
  time datetime,
  id int(11) DEFAULT '0' NOT NULL auto_increment,
  sid varchar(32) NOT NULL,
  PRIMARY KEY (id),
  UNIQUE sid (sid)
);
//End

//XX.php自界说了session的数据库途径,当某个页面需求利用//session时,可以include这个局部,利用办法为:
<?
include "XX.php";//XX.php
session_start();
//以下就能够正常利用session了
?>

/******************************************************/
  XX.php 内容:
/*****************************************************/
<?
$sess_dbh="";
$sess_maxlifetime=get_cfg_var("session.gc_maxlifetime");

function sess_open($save_path, $session_name) {
  global $hostname, $dbusername, $dbpassword, $dbname, $sess_dbh;
  
  //$sess_dbh=mysql_pconnect($hostname,$dbusername,$dbpassword) or die("不克不及毗连数据库!");
  $sess_dbh=mysql_pconnect('localhost','test','test') or die("不克不及毗连数据库!");

  // mysql_select_db("$dbname") or die("不克不及选择数据库!");
mysql_select_db('test') or die("不克不及选择数据库!");
  return(true);
}

function sess_close() {
  //mysql_close();
  return(true);
}

function sess_read($sid) {
  global $sess_dbh;

  $result = mysql_query("select data from sesslib where sid='$sid'", $sess_dbh);
  $n=mysql_num_rows($result);
  if($n==0) {
return("");
  }
  else {
  $sess_data=mysql_result($result,0);
  return($sess_data);
  }
}

function sess_write($sid, $sess_data) {
  global $sess_dbh;
if(!empty($sess_data)){
  $r=mysql_query("insert into sesslib set sid='$sid',data='$sess_data',time=now()", $sess_dbh);
  if(!$r) { // insertion failed, means the session is already there, update it
  $r=mysql_query("update sesslib set sid='$sid', data='$sess_data', time=now() where sid='$sid'",$sess_dbh);
  }
  return $r;
}}

function sess_destroy($sid) {
  global $sess_dbh;

  $r=mysql_query("delete from sesslib where sid='$sid'", $sess_dbh);
  return($r);
}

function sess_gc($maxlifetime) {
  global $sess_dbh, $sess_maxlifetime;

  $r=mysql_query("delete from sesslib where unix_timestamp(now())-unix_timestamp(time)>$sess_maxlifetime", $sess_dbh);
  return mysql_affected_rows($sess_dbh);
}

session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");

?>

如许一来,平安多了......  完成一个功能齐全的动态站点
若相依 该用户已被删除
沙发
发表于 2015-2-4 13:05:17 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
小魔女 该用户已被删除
板凳
发表于 2015-2-4 18:53:59 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
小女巫 该用户已被删除
地板
发表于 2015-2-8 02:19:47 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
变相怪杰 该用户已被删除
5#
发表于 2015-2-10 10:42:10 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
冷月葬花魂 该用户已被删除
6#
发表于 2015-3-1 09:12:23 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
谁可相欹 该用户已被删除
7#
发表于 2015-3-1 20:21:14 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
海妖 该用户已被删除
8#
发表于 2015-3-3 04:32:41 | 只看该作者
当然这种网站的会员费就几十块钱。
因胸联盟 该用户已被删除
9#
发表于 2015-3-6 13:58:55 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
精灵巫婆 该用户已被删除
10#
发表于 2015-3-12 21:51:46 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
柔情似水 该用户已被删除
11#
发表于 2015-3-20 03:11:29 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
活着的死人 该用户已被删除
12#
发表于 2015-3-22 17:09:26 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
若天明 该用户已被删除
13#
发表于 2015-3-28 22:04:07 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
爱飞 该用户已被删除
14#
发表于 2015-4-5 16:18:43 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
愤怒的大鸟 该用户已被删除
15#
发表于 2015-4-16 15:11:51 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
莫相离 该用户已被删除
16#
发表于 2015-4-17 01:48:11 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
飘飘悠悠 该用户已被删除
17#
发表于 2015-4-26 02:12:34 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
小妖女 该用户已被删除
18#
发表于 2015-4-26 10:00:08 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
兰色精灵 该用户已被删除
19#
发表于 2015-5-1 19:03:34 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
只想知道 该用户已被删除
20#
发表于 2015-5-3 20:31:45 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 02:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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