我制作了一个博客,从一个名为 BlogData 的单个表中打印所有帖子,问题是我希望只能编辑我发布的帖子,所以我在"poster"列中存储了发布帖子的用户名的名称。
<div class="container">
<?php
$sql = mysql_query("SELECT * FROM BlogData ORDER BY id DESC");
while($row = mysql_fetch_array($sql)){
$title = $row['title'];
$content = $row['content'];
$category = $row['category'];
$image = $row['id'];
$extension= $row['ext'];
$title_color = $row['title_color'];
$content_color = $row['content_color'];
$category_color = $row['category_color'];
/////////////////////////////////////////////////////
$poster = $row['poster']; // THIS IS WHERE THE USERNAME IS STORED
/////////////////////////////////////////////////////
?>
<hr />
<div class="title" style=color:#<? echo $title_color ?>>
<?php echo $title; ?>
</div>
<div class="date" style=color:#<? echo $category_color ?>>
<?php echo $category; ?>
<div class="poster" style=color:#<? echo $poster_color ?>>
<?php echo $poster; ?>
</div>
</div>
<?php
echo "<img width='1140' height='300' src='uploads/".$image.".".$extension."'>";
?>
<br>
<div class="content" style=color:#<? echo $content_color ?>>
<?php echo $content; ?>
</div>
<br>
////////////////////////////////
////////////////problem here
////////////////////////////////
<?php
if ($_SESSION['name'] == $row['poster']){
echo "1";
} else {
echo "2";
}
}
?>
<?php
}
?>
问题是,代码末尾的"echo"是在"海报"行上存储了某些内容的所有帖子上打印 1,在"海报"行为空的所有帖子上打印 2,它应该只在我创建的帖子上打印 1。 如何解决这个问题?
添加
session_start();
在读取 $_SESSION 变量之前在您的 pup 代码中。
PHP session_start手册
您也可以尝试以这种方式更改 IF 语句:
if (isset($_SESSION['name']) && $_SESSION['name'])