我试图将当前会话用户名插入到PHP会话表中

我试图将当前会话用户名插入到PHP会话表中,php,html,Php,Html,嗨,这让我沮丧了一段时间,我似乎不知道我的代码出了什么问题 因此,我目前有一个名为artworks的数据库,其中有两个表:artwork表和members表(用于登录,包括用户名和密码) 我已经有了login.php,它将username和password存储到members表中 现在我想从members表中获取用户名,并以某种方式将其存储在artworks表中。(我不知道为什么我的代码没有将我的用户名存储到其中) 如果您这样做,请在登录部分对$\u会话['username']进行签名,我的意思

嗨,这让我沮丧了一段时间,我似乎不知道我的代码出了什么问题

因此,我目前有一个名为artworks的数据库,其中有两个表:artwork表和
members
表(用于登录,包括
用户名
密码

我已经有了login.php,它将
username
password
存储到
members
表中

现在我想从members表中获取用户名,并以某种方式将其存储在artworks表中。(我不知道为什么我的代码没有将我的
用户名
存储到其中)


如果您这样做,请在登录部分对$\u会话['username']进行签名,我的意思是,成功登录后,您将使用name=>username创建会话,并从查询中签名,该查询涉及从表成员获取用户名和密码

因为尽管您更改了页面,会话值仍然会存储,所以在下一页中,请参考上面的代码,您只需将其包含到查询字符串中即可

比如说 login.php

// u get data username and password from table member and asign it to $username
session_start();
$username = "foo";//you can sign this value from query tables
$_SESSION['username'] = $username;
记住,会话上的值仍然保持不变

在另一边,在另一边 php=>这是我的假设^_^

//after that $_SESSION[username] will be sign with name foo, for example
$q = "insert into artwork values(null, '$_SESSION[username]','$title', '$category', '$description', '$tags', '$filename')";
mysqli_query($db, $q) or die(mysqli_error($db));

$username不是来自任何地方。。。这里使用它的唯一时间是当您编写
$\u SESSION['username']=$username$username在哪里?顺便说一句,您正面临可能的SQL注入攻击。请参阅“echo$username”…为什么要这样做?您似乎没有在任何地方声明它。您希望在哪里填充此值?您是否打算编写
$username=$\u会话['username']
而不是
$\u会话['username']=$username-这将从会话中获取用户名,而不是反过来使用
die(mysqli_error($conn))是一个非常糟糕的主意
在您的代码中,因为它可能会泄漏敏感信息。有关更多说明,请参阅本文:通过向login.php添加“($username=“foo”)”,用户名数据现在已成功添加到数据库中:3警告:您完全可以使用参数化准备语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。使用
die(mysqli_error($conn))是一个非常糟糕的主意
在您的代码中,因为它可能会泄漏敏感信息。请参阅本文了解更多解释:这是真的,也许您可以使用prepared语句和bind参数更改为PDO^_^