我创建了一个博客,该博客可以从名为BlogData的单个表中打印所有帖子,问题是我希望仅能够编辑已发布的帖子,因此我将名称存储在“海报”列中发布信息的用户名。
<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”正在“ poster”行中存储了某些内容的所有帖子上打印1,而在“ poster”行为空的所有帖子中都打印了2,因此应该打印1仅在我创建的帖子上。如何解决?
最佳答案
加
session_start();
在您的小狗代码中读取$ _SESSION变量之前。
PHP session_start manual
您也可以尝试通过这种方式更改IF语句:
if (isset($_SESSION['name']) && $_SESSION['name'])