我正在创建一个新闻网站,当我创建一篇新文章时,标题/文本会在数据库中注册。文章位于带有页眉/页脚的动态 PHP 页面中,文本本身是从数据库中调用的。在索引上有一个包含指向每篇文章的链接的列表,我希望这些链接能够自动更改 ID。索引.php<?php include "header.php"; session_start();?><?php include "slideshow.php"; ?><?php include "db.php"; ?> <br> <table class="table_index"> <?php while ($line = mysqli_fetch_array($query)) { echo '<tr><td class="td_tit"><a href="example_article.php" >'.$line["title_article"].'</a></td></tr>'; echo '<tr><td class="td_subt"><a href="example_article.php" >'.$line["subtitle_article"].'</a></td></tr>'; $_SESSION['id_article'] = $line["id_tb_article"]; } ?> </table><?php include "footer.php"; ?> example_article.php<?php session_start(); include "header.php"; $id_article = $_SESSION['id_article']; $query = "SELECT title_article, subtitle_article, content_article FROM tb_article WHERE id_tb_article = $id_article"; $conn = mysqli_connect('127.0.0.1:3307', 'root', '', 'article') or die("error"); $result = mysqli_query($conn, $query); if (mysqli_num_rows($result) > 0) { // output data of each row while($row = mysqli_fetch_assoc($result)) { echo "<div class='titlediv'><h1 class='title'>" . $row["title_article"]. "</h1></div><div class='titlediv'><h3 class='title'>". $row["subtitle_article"]. "</h3></div><div class='textdiv'><p class='text'>" . $row["content_article"]. "</p></div><br>"; } } else { echo "0 results"; } include "footer.php";?>
1 回答
holdtom
TA贡献1805条经验 获得超10个赞
您不应为此任务使用会话参数。而是使用获取参数(或发布)这里是一个小例子。您的代码也容易受到 SQL 注入的影响,但这就是您的问题:D
Index.php 像这样重写你的 while 循环
while ($line = mysqli_fetch_array($query)) {
echo '<tr><td class="td_tit"><a href="example_article.php?id=' . $line["id_tb_article"] . '">'.$line["title_article"].'</a></td></tr>';
echo '<tr><td class="td_subt"><a href="example_article.php?id=' . $line["id_tb_article"] . '">'.$line["subtitle_article"].'</a></td></tr>';
}
然后像这样在 example_article.php 中获取 id:
$id_article = $_GET['id_article'];
- 1 回答
- 0 关注
- 249 浏览
添加回答
举报
0/150
提交
取消