我无法在一个页面中显示两条会话消息


can't i display two session message in one page

>我一直在一页中显示两条会话消息,评级。每次刷新时都会显示一条消息,显示喜欢和不喜欢。提交评级表单后显示的另一条消息,问题是一旦我提交评级表单,显示评级的消息就不会显示。为什么会这样???我不能在一个页面中使用两个会话吗?谢谢

编码

<?php
if(!empty($_SESSION['error_msg'])){?>
    <div style="text-align: center"><?php echo $_SESSION['error_msg'];?></div>
    <?
    session_unset($_SESSION['error_msg']);
}
?>
if(!empty($_SESSION['rate_msg'])){
            echo $_SESSION['rate_msg'];
            session_unset($_SESSION['rate_msg']);
        }
  ?>
  <form name="rating_form" action="" method="post">
      <input type="hidden" name="g_id" value="<?php echo $ratings['gallery_id'];?>"/>
      <input type="hidden" name="g_image" value="<?php echo $ratings['gallery_image'];?>"/>
      <div style="text-align: center">
          <input type="radio" name="rating" value="Hot" onclick="document.rating_form.submit();">Hot</input>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          <input type="radio" name="rating" value="Not" onclick="document.rating_form.submit();">Not</input>
      </div>
  </form>
抱歉,

我认为我的代码有点混乱我的实际代码如下所示

<div class="top_model">
                    <h1>Model Ratings</h1>
                        <?php
                           if(!empty($_SESSION['error_msg'])){?>
                                <div style="text-align: center"><?php echo $_SESSION['error_msg'];?></div>
                                <?
                                session_unset($_SESSION['error_msg']);
                            }
                        ?>
                      <ul class="homemodel_thumbs">
                          <div style="text-align: right">
                              </div> 
                          <?php
                            if(!empty($ratingArr)){
                                foreach($ratingArr as $ratings){
?>
                          <li><img src="<?php echo base_url();?>images/gallery/large/<?php echo $ratings['gallery_image'];?>" alt="<?php echo $ratings['gallery_image'];?>" class="center_image"/>
                              <p>&nbsp;&nbsp;</p>
                              <?php
                              if(!empty($_SESSION['rate_msg'])){
                                        echo $_SESSION['rate_msg'];
                                        //session_unset($_SESSION['rate_msg']);
                                    }
                              ?>
                              <form name="rating_form" action="" method="post">
                                  <input type="hidden" name="g_id" value="<?php echo $ratings['gallery_id'];?>"/>
                                  <input type="hidden" name="g_image" value="<?php echo $ratings['gallery_image'];?>"/>
                                  <div style="text-align: center">
                                      <input type="radio" name="rating" value="Hot" onclick="document.rating_form.submit();">Hot</input>
                                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                      <input type="radio" name="rating" value="Not" onclick="document.rating_form.submit();">Not</input>
                                  </div>
                              </form>
                          </li>    
                             <?php    
                                }
                            }
                            ?>
                       </ul>
这个问题

解决了。 两个会话消息中,一个我使用了PHP会话,而另一个会话我使用了代码点火器会话。 对不起,如果我没有提到我正在使用 CI。 无论如何,感谢大家的帮助:)

显示评分消息后,您将取消设置评分消息:

session_unset($_SESSION['rate_msg']);

这意味着在您发回表单后,除非您再次重新填充表单,否则它不可用。

删除它,我怀疑它会起作用。

您有多余的?>

<?php
     if(!empty($_SESSION['error_msg'])){?>
        <div style="text-align: center"><?php echo $_SESSION['error_msg'];?></div>
<?
     session_unset($_SESSION['error_msg']);
     }
    if(!empty($_SESSION['rate_msg']))
    {
        echo $_SESSION['rate_msg'];
        session_unset($_SESSION['rate_msg']);
    }
?>

你不会为最后一条语句打开 php 标签,(或者关闭它)它被视为 html

<?php
if(!empty($_SESSION['error_msg'])){?>
    <div style="text-align: center"><?php echo $_SESSION['error_msg'];?></div>
    <?php
    session_unset($_SESSION['error_msg']);
}

?>

if(!empty($_SESSION['rate_msg'])){
            echo $_SESSION['rate_msg'];
            session_unset($_SESSION['rate_msg']);
        }
  ?>

编辑

<?php
// < HERE IS PHP >
if(!empty($_SESSION['error_msg'])){?>
    <div style="text-align: center"><?php echo $_SESSION['error_msg'];?></div>
    <!-- HERE IS HTML -->
    <?
    // < HERE IS PHP >
    session_unset($_SESSION['error_msg']);
}
?> <!-- CLOSED PHP - NOW IT'S HTML - YOU SHOULD REMOVE IT -->
<!-- THIS IS NOT EXECUTED - BECAUSE IT'S HTML NOW -->
if(!empty($_SESSION['rate_msg'])){
            echo $_SESSION['rate_msg'];
            session_unset($_SESSION['rate_msg']);
        }
  ?> <!-- THIS IS NOT PHP TAG BECASUE THERE IS NOT OPEN TAG -->
  <form name="rating_form" action="" method="post">
      <input type="hidden" name="g_id" value="<?php echo $ratings['gallery_id'];?>"/>
      <input type="hidden" name="g_image" value="<?php echo $ratings['gallery_image'];?>"/>
      <div style="text-align: center">
          <input type="radio" name="rating" value="Hot" onclick="document.rating_form.submit();">Hot</input>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          <input type="radio" name="rating" value="Not" onclick="document.rating_form.submit();">Not</input>
      </div>
  </form>