PHP如果session等于mysql表行,做点什么

时间:2014-11-30 08:56:41

标签: php mysql session

我创建了一个博客,打印了一个名为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。怎么能解决这个问题?

1 个答案:

答案 0 :(得分:1)

添加

session_start();

在阅读$ _SESSION变量之前的幼儿代码中。

PHP session_start manual

您也可以尝试以这种方式更改您的IF语句:

if (isset($_SESSION['name']) && $_SESSION['name'])