为什么将session存在数据库

为什么将session存在数据库,第1张

建立数据库和数据库的表结构,我们可以采用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一样的方法使用旧可以了。

首先生成一个随机的字符串包括

字母

数字

或汉字

然后用php中生成图片的函数把这个字符串生成图片并在页面展示出来

然后session存储这个字符串,没必要存到数据库中,因为就用那么一次

然后用户在前台输入后

与session进行比较验证


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

原文地址:https://54852.com/sjk/9660639.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存