Php 用户配置文件和文件上载

Php 用户配置文件和文件上载,php,sql,Php,Sql,我刚刚创建了一个配置文件站点,它允许每个注册用户输入他们自己的配置文件。此时显示电子邮件和用户名 我还创建了一个文件上传程序,它将文件名保存在SQL表中,并将文件保存到文件夹中。还有一个文件列表,您可以查看已上传的每个文件以及再次下载的选项 现在我想以某种方式将这两件事联系起来,这样当你登录到你的用户配置文件时,你就可以将一个文件上传到文件夹中,并直接在你的配置文件中显示它们。但当然,你上传的只有这些,不是每个用户都上传的 我打赌有一个方法可以做到这一点,但因为我是一个新手,我真的不知道如何开始

我刚刚创建了一个配置文件站点,它允许每个注册用户输入他们自己的配置文件。此时显示电子邮件和用户名

我还创建了一个文件上传程序,它将文件名保存在SQL表中,并将文件保存到文件夹中。还有一个文件列表,您可以查看已上传的每个文件以及再次下载的选项

现在我想以某种方式将这两件事联系起来,这样当你登录到你的用户配置文件时,你就可以将一个文件上传到文件夹中,并直接在你的配置文件中显示它们。但当然,你上传的只有这些,不是每个用户都上传的

我打赌有一个方法可以做到这一点,但因为我是一个新手,我真的不知道如何开始。所以,如果有人有一些建议,或者是互联网上的某个地方有一种方法,我会很高兴:)


感谢您在sql table for files中添加用户id字段。每次用户上传他们的文件时,他们的id都将存储在此表中,以供使用。当用户登录时,您应该仅在sql表中为用户id的文件添加字段中选择具有此用户id的文件。每次用户上载他们的文件时,他们的id都将存储在此表中。用户登录时,应仅选择具有此用户id的文件,并在sql表中创建一个字段用户id

从会话或您用来登录的任何东西中存储loggedin用户的用户id


在此之后,选择要在概要文件中显示的带有loggedinuserid的文件的所有字段。

在sql表中创建一个字段用户id

从会话或您用来登录的任何东西中存储loggedin用户的用户id


在此之后,选择要在配置文件中显示的带有loggedin userid的文件的所有字段。

像这样组织文件系统:

uploads/
  files/
    %user_name% or %user_id% (some unique identifier linked to the current user)/

这样,您将始终能够显示仅由该用户上载的文件。

将您的文件系统组织为:

uploads/
  files/
    %user_name% or %user_id% (some unique identifier linked to the current user)/

这样,您将始终能够显示仅由该用户上传的文件。

当检查用户是否已授权时,您需要对用户进行授权,并向用户显示上载表单。当用户上传文件时,需要检查用户的身份验证、文件大小、文件扩展(注意*.php或任何服务器端执行的文件),等等。当检查用户的身份验证时,需要对用户进行身份验证,并向用户显示上传表单。当用户上传文件时,您需要检查用户身份验证、文件大小、文件扩展(当心*.php或任何服务器端执行的文件),等等。我想我在这里说了点什么:)我在我的用户表中添加了文件名,所以现在每次保存文件时,文件名都会将id存储在用户表中。我可以使用and if else查询仅显示某个用户上载的文件吗?对于某个用户,您应该使用类似的方式:从文件中选择文件名,其中用户\u id=$\u会话['user\u id']将为您的用户选择所有文件。(以所有字段命名为例)我尝试了这个查询,结果几乎成功了。当我将user\u id=$\u SESSION['user\u id']更改为user\u id='testid'时,它会显示该id中的所有文件,但当我使用$\u SESSION[user\u id]时,我会收到错误消息“您的SQL语法有错误;请检查与MySQL服务器版本对应的手册,以了解第1行“”附近使用的正确语法”我是否应该以某种方式实例化$session?所以它知道我应该获取加载用户的信息?如果您有$_SESSION['user_id'](用户登录后将其id放入SESSION)。对于查询语法,您应该使用:“从user\u id=$\u SESSION['user\u id']所在的文件中选择文件名”,并使用以下引号和其他方式:“从user\u id='所在的文件中选择文件名”。$\u SESSION['user\u id']嗯,无法正确设置=/我现在有另一个错误。这是我的查询$files=mysql\u查询(“从
user\u name
={$\u SESSION['username']}的用户中选择
file\u name
)或死亡(mysql\u error());错误信息现在是“where子句”中的未知列“test1”,可能是它正在读取列中的信息吗?我想我这里有点问题:)我在我的用户表中添加了文件名,所以现在每次保存文件时,文件名都会将id存储在用户表中。我可以使用and if else查询仅显示某个用户上载的文件吗?对于某个用户,您应该使用类似的方式:从文件中选择文件名,其中用户\u id=$\u会话['user\u id']将为您的用户选择所有文件。(以所有字段命名为例)我尝试了这个查询,结果几乎成功了。当我将user\u id=$\u SESSION['user\u id']更改为user\u id='testid'时,它会显示该id中的所有文件,但当我使用$\u SESSION[user\u id]时,我会收到错误消息“您的SQL语法有错误;请检查与MySQL服务器版本对应的手册,以了解第1行“”附近使用的正确语法”我是否应该以某种方式实例化$session?所以它知道我应该获取加载用户的信息?如果您有$_SESSION['user_id'](用户登录后将其id放入SESSION)。对于查询语法,您应该使用:“从user\u id=$\u SESSION['user\u id']所在的文件中选择文件名”,并使用以下引号和其他方式:“从user\u id='所在的文件中选择文件名”。$\u SESSION['user\u id']嗯,无法正确设置=/我现在有另一个错误。这是我的查询$files=mysql\u查询(“从
user\u name
={$\u SESSION['username']}的用户中选择
file\u name
)或死亡(mysql\u error());错误消息现在是“where子句”中的未知列“test1”,可能是它正在读取列中的信息,作为列?