我创建了一个博客,打印了一个名为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
}
?>
问题是,&#34; echo&#34;在代码的最后,在所有帖子上打印1,这些帖子上存有一些东西&#34; poster&#34;和所有帖子中的那一行&#34;海报&#34;是空的,它应该只在我创建的帖子上打印1。怎么能解决这个问题?
答案 0 :(得分:1)
添加
session_start();
在阅读$ _SESSION变量之前的幼儿代码中。
您也可以尝试以这种方式更改您的IF语句:
if (isset($_SESSION['name']) && $_SESSION['name'])