首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用mysql和php将会话中的用户名记录到表中

用mysql和php将会话中的用户名记录到表中
EN

Stack Overflow用户
提问于 2012-03-28 02:35:14
回答 4查看 5.6K关注 0票数 2

我有一个用mysql和php开发的数据库系统,还有一个登录系统,im使用会话,但是当用户添加记录时,我希望它也记录添加它的用户,im认为会话会允许我这样做,但我丢失了如何从会话中检索用户名并将其添加到表中的兴趣:简单插入的示例:

代码语言:javascript
复制
INSERT INTO table_name
VALUES (value1, value2, value3) 

我想要值3作为会话中的用户名,我不确定您还需要多少信息来帮助我解决这个问题,所以请按您认为合适的方式询问

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-28 02:38:48

在用户登录后设置value3 = $_SESSION['username'],然后将其插入到表中。

下面是一些伪代码:

代码语言:javascript
复制
$username = $_SESSION['username']

//connect to db

INSERT INTO table_name
VALUES (value1, value2, $username) 

//close db connection

会话ID引用:http://php.net/manual/en/function.session-id.php

票数 3
EN

Stack Overflow用户

发布于 2012-03-28 02:41:27

首先,当用户登录到系统时(即验证用户数据和生成会话令牌时),您需要将用户id保存在会话中,然后当他执行任何插入操作时,您可以根据会话令牌获取用户信息并将其插入。

伪码

代码语言:javascript
复制
<?php
//When user logged-in
$_SESSION['user_id']=logged_in_user_id;

//When you need to insert
$userId = $_SESSION['user_id'];
票数 1
EN

Stack Overflow用户

发布于 2012-03-28 02:44:12

代码语言:javascript
复制
<?php

session_start();

// On the page your login form submits to

// Your authentication code is here make sure it is returning the USER ID if there is one

$_SESSION['username'] = $result->username; // use this for user name

$_SESSION['userid'] = $result->userid; // use this for user ID
?>

代码语言:javascript
复制
<?php
    session_start();
    // Page that adds records
    $sql = "INSERT INTO table_name VALUES (value1, value2, value3, $_SESSION['username'], $_SESSION['userid']);
// I would rather see you use the user_id than the user name but you get the idea
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9895493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档