session不能保存

session不能保存,第1张

验证都没通过.怎么保存?

一般设置都是只有通过验证后才用session来保存登陆状态

还有session的保存取决于客户端是否开启了cookie.

如果客户端禁止了cookie.那session没用的。

至于你说的服务器的保存session

是不是说的过期时间?

可以用session.timeout=5

来设置

后面的数值以分钟为单位.默认是20

aspnet中,session默认以inproc模式存储,也就是保存在iis进程中,这样有个优点就是效率高,但不利于为本负载均衡扩展。可以把session信息保存在sql

server中,据说,该种方式比起inproc性能损失为10%-20%。如何实现呢,主要分两步介绍:

1、初始化sql

server中的状态数据库

asp.net

sql

server

提供注册工具aspnet_regsql.exe,用于创建供

asp.net

中的

sql

server

提供程序使用的

microsoft

sql

server

数据库。aspnet_regsql.exe位于

/%windir%/microsoft.net/framework/

/aspnet_regsql.exe

目录下。如果麻烦,可以

直接用visual

studio

tools

的命令提示工具中直接输入aspnet_regsql.exe使用。用法如下:

aspnet_regsql.exe

可以用如下的语法来添加默认session数据库aspstate

aspnet_regsql.exe

-s

localhost

-u

sa

-p

why1234?

-ssadd

-sstype

p

-s,-u/-p

必须是大写,分别表示数据库服务器,用户名和密码。

-ssadd

/

–ssremove

参数:

-ssadd表示是添加session数据库,

-ssremove表示移除session数据库.

创建自定义数据库myappstate,可以用如下的语法:

aspnet_regsql.exe

-s

localhost

-u

sa

-p

why1234?

-ssadd

-sstype

c

-d

myappstate

2、配置webconfig

在webconfig的

节下添加如下配置:

如果在初始化数据库的时候,创建了自定义数据库可以用类似于如下的的配置:

通过以上两步的设置,已经可以了。详细情况请参阅msdn。

建立数据库和数据库的表结构,我们可以采用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') )

下面我们来编写保存session的文件session_start.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的时候,把session_user_start.php。包含进来,

注意,这个文件一定要在文件的第一行包含,然后就想使用文件的session一样的方法使用旧可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6822607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存