【问题标题】:How to display images on PHP page from my database?如何在我的数据库中的 PHP 页面上显示图像?
【发布时间】:2019-05-13 12:35:08
【问题描述】:

我正在尝试根据用户在表单中输入的内容(IMG 1)显示图像和相关数据。一切正常,但我需要表格来显示实际图像而不是 URL。

在我的数据库中,我将图像数据存储为 URL,但我想在 PHP 页面 (IMG 3) 上显示为图像。

IMG - 1: What User Enters

IMG - 2: Result of Search

IMG - 3: Set up on phpMyAdmin

所以在表格(IMG 2)中,我希望显示实际图像而不是链接

这是执行搜索和显示数据的代码中最重要的部分。

    $title = trim($_POST["PhotoTitle"]);
    $FromDate = trim($_POST["FromDate"]);
    $ToDate = trim($_POST["ToDate"]);
    $keywords = trim($_POST["keywords"]);

    $query ="SELECT * FROM `photos` WHERE `Photo-Title` like '%".$title."%' AND `Keywords` like '%".$keywords."%' AND `Date-of-Photo` BETWEEN '$FromDate' AND '$ToDate'";

    while ($row = mysqli_fetch_assoc($result)) {
        echo "<tr>\n ";
        echo "<td>",$row["Photo-Title"],"</td>\n";
        echo "<td>",$row["Description"],"</td>\n";
        echo "<td>",$row["Date-of-Photo"],"</td>\n";
        echo "<td>",$row["Keywords"],"</td>\n";
        echo "<td>",$row["Reference-to-S3"],"</td>\n";
        echo "</tr>\n ";
    }

如果需要,我可以提供任何其他信息。

我该如何解决这个问题?

【问题讨论】:

  • 你想让 s3 url 对外界可见吗?

标签: php database image phpmyadmin


【解决方案1】:

只需编辑这段代码即可:

while ($row = mysqli_fetch_assoc($result)) {
        echo "<tr>\n ";
        echo "<td>",$row["Photo-Title"],"</td>\n";
        echo "<td>",$row["Description"],"</td>\n";
        echo "<td>",$row["Date-of-Photo"],"</td>\n";
        echo "<td>",$row["Keywords"],"</td>\n";
        echo "<td><img src='" . $row["Reference-to-S3"] . "' alt='" . $row["Photo-Title"] . "' /></td>\n";
        echo "</tr>\n ";
    }

它的作用是使用 HTML 的 &lt;img /&gt; 标记将 URL 显示为图像。此外,alt 为图像添加了一个标题,如果您将图像悬停,您可以看到该属性的值。

【讨论】:

    【解决方案2】:

    首先:您的代码非常不安全。它容易受到 sql 注入和 XSS 的攻击。

    关于您的问题:您需要输出一个带有图像 url 作为 src 属性的 html 标记。

    像这样:

    echo "<td><img src='" . htmlspecialchars($row["Reference-to-S3"]) . "' /></td>\n";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-26
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      相关资源
      最近更新 更多