Привет, я хочу показать URL-адрес в качестве ссылки в PHP, URL-адрес отображается по запросу из базы данных, но это не ссылка, поэтому я хочу сделать ссылку, используя <a href=""></a>
но я не знаю, что я делаю неправильно
Мои данные отображаются в браузере
ID Name URL 2 This localhost/p_uploads/00.jpg 3 Nissan localhost/p_uploads/7a.jpg
Я хочу, чтобы эти URL-адреса были ссылками, чтобы каждый мог щелкнуть по URL-адресу, чтобы открыть изображение
Вот мой код PHP:
<?php if(!isset($_COOKIE['loggedin'])){ header("location:index.php"); } session_start(); if(!isset($_SESSION['user'])){ header("location: index.php"); } else { ?> <?php $con=mysqli_connect("localhost","root","123","user"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"Select * from private_uploads where username = '".$_SESSION['user']."'") or die(mysql_error()); echo "<table border='1'> <tr> <th>ID</th> <th>Name</th> <th>URL</th> </tr>"; while($row = mysqli_fetch_array($result, MYSQL_ASSOC)) { echo "<tr>"; echo "<td>" . $row['ID'] . "</td>"; echo "<td>" . $row['Name'] . "</td>"; echo "<td>",'<a href=' . $row['Link'] . '></a>',"</td>"; echo "</tr>"; } echo "</table>"; //Views Counter mysqli_close($con);} ?> <?php $url = htmlspecialchars($_SERVER['HTTP_REFERER']); echo "<a href='$url'>back</a>"; ?>
замещать
echo "<td>",'<a href=' . $row['Link'] . '></a>',"</td>";
для этого
echo '<td><a href="' . $row['Link'] . '">[a name here would be nice]</a></td>';
вам не хватает "" в сгенерированном href
Вы создаете ссылки, которые выглядят так:
<a href="localhost/p_uploads/00.jpg"></a>
Это недействительный URL (если у вас действительно нет папки localhost/p_uplaods
) и ссылка без тела, так что вы ее никогда не увидите.
Если вы хотите получить доступ к localhost
хосту , а не к папке, вы должны использовать абсолютный путь для текущего хоста, /p_uploads/00.jpg
или полный URL-адрес: http://localhost/p_uploads/00.jpg
,
Ваша ссылка выглядит так:
<a href="localhost/p_uploads/00.jpg"></a>
У него нет протокола HTTP. Ссылка должна выглядеть так:
<a href="http://localhost/p_uploads/00.jpg"></a>
У вас может быть проблема в этой строке:
echo "<td>",'<a href=' . $row['Link'] . '></a>',"</td>";
Поскольку вы имеете в виду Link
тогда как в вашей базе данных столбец называется URL
. Также добавьте текст в тег:
echo '<td><a href="http://' . $row['URL'] . '">View</a></td>';