用户只能看到自己上传的文档

时间:2019-05-14 13:27:15

标签: php mysql

我正在一个网站上,用户可以登录并上传不同的文档(例如.docx和.pdf),并通过我已经建立的搜索功能下载它们。登录信息将存储在我的用户表中,其中包含以下内容:

idUsers int(11) PRIMARY KEY NOT NULL,
uidUsers TINYTEXT NOT NULL,
emailUsers TINYTEXT NOT NULL,
pwdUsers LONGTEXT NOT NULL,

因此,当用户登录时,他们能够通过常规的上传表单上传文档。文件正在存储在包含以下内容的文件表中:

id int(11) PRIMARY KEY NOT NULL,
usersId int(11) - (Foreign key for idUsers in users table)
name varchar(255) NOT NULL,
title varchar(255) NOT NULL,
forfatter varchar(255) (forfatter = author)
size int(11),
download int(11) (for later use)

当用户登录并上传文档时,“ idUsers”值将传递到我的文件表中的usersId中。

如上所述,我已经创建了搜索功能,该功能可以将根据搜索参数找到的文档“吐出”到html表中。但是问题来了。用户登录后,他/她应该只能看到他们上载的文档,而我还不太清楚如何完成该操作。

我试图使它以某些不同且可能错误的方式工作。我很确定,mysqli_query中出了点问题。我知道我必须“比较”用户表中的idUsers与文件表中的外键usersId。在用于搜索功能的mysqli_query中,我将用户在搜索字段中键入的单词与名称,标题和forfatter(作者)进行比较。我觉得我制作mysqli_query的方式出错了,因此,我尝试制作多个mysqli_query,一个仅用于搜索功能,仅用于id和usersId。但是它也失败了。

search.php

$usersId = $_SESSION['userId'];

$output = '';

if (isset($_GET['search']) && $_GET['search'] !== ' ') {
        $searchingq = $_GET['search'];

$q = mysqli_query($conn, "SELECT * FROM files WHERE id AND usersId AND name LIKE '%$searchingq%' OR title LIKE '%$searchingq%' OR forfatter LIKE '%$searchingq%'") or die(mysqli_error($conn));

mysqli_stmt_bind_param($id, $userId, $name, $title, $forfatter, $download);

$c = mysqli_num_rows($q);
   if($c == 0) {
         $output = '<p>No search results for: "' .$searchingq. '"</p>';
   } else {

     while($row = mysqli_fetch_array($q)) {
         $name = $row['name'];
         $title = $row['title'];
         $forfatter = $row['forfatter'];
         $download = $row['downloads'];

     if (isset($_SESSION['userId']) AND $_SESSION['userId'] = $userId) {

         $output .= 
                  '
                   <tbody class="tableBody">
                      <tr>
                         <td>' .$name. '</td>
                         <td>' .$title. '</td>
                         <td>' .$forfatter. '</td>
                         <td class="text-center"><a href="../uploads/'.$name.'" download="'.$name.'"><i class="fas fa-file-export"></i></a></td>
                        <td class="text-center"><a href="delete.inc.php?id='.$row['id'].'"><i class="fas fa-trash-alt"</a></td> 
                            </tr>
                        </tbody>';
                }
            }
        }

0 个答案:

没有答案