我有一个用mysql和php开发的数据库系统,还有一个登录系统,即时通讯使用会话,但是当用户添加一条记录时,我希望它也记录添加它的用户,我认为会话会让我要做到这一点,但我失去了如何从会话中检索用户名并将其添加到表中的插入:简单插入的示例:
INSERT INTO table_name
VALUES (value1, value2, value3)
我希望将值3作为会话的用户名,我不确定您需要多少信息来帮助我解决这个问题,所以问你认为合适
答案 0 :(得分:2)
在用户登录后设置value3 = $_SESSION['username']
,然后将其插入表格中。
这是一些伪代码:
$username = $_SESSION['username']
//connect to db
INSERT INTO table_name
VALUES (value1, value2, $username)
//close db connection
答案 1 :(得分:1)
首先,一旦用户登录系统(意味着您正在验证用户数据并生成会话令牌),您需要在会话中保存用户ID,然后当他执行任何插入操作时,您可以获得基于会话令牌的用户信息并插入它。
伪代码
<?php
//When user logged-in
$_SESSION['user_id']=logged_in_user_id;
//When you need to insert
$userId = $_SESSION['user_id'];
答案 2 :(得分:1)
<?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
?>
<?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
?>
答案 3 :(得分:0)
如果您尝试跟踪用户,那么我建议的最简单方法是创建触发器。