2017-04-26 81 views
0

我有这个php代码,它确定用户是否已经投票或不。为什么我的php'else'同时显示?

$row_content['Vote_Who']包含谁曾投票的所有用户的列表,并且这种格式,如“USER_1 User_2 User_3”

$_SESSION['Username']是谁在登录的用户的当前用户名。是的,这工作,因为我已经叫它在页面的其他地方。

<?php if(strpos($row_content['Vote_Who'], $_SESSION['Username']) !== false){?> 
    <input type="button" value="Thanks for voting!"> 
<?php } 
else{ ?> 
    <input type="submit" value="<?php echo $row_content['Votes']?>: Vote Up! ▲" width="75px"> 
    <input type="hidden" name="MM_update" value="vote"> 
<?php } ?> 

但是,当我在网络浏览器中看到结果时,两个按钮都一次显示。

我该如何解决这个问题?

在此先感谢。

UPDATE:图片,证明两个按钮显示在
enter image description here

UPDATE同时: 完整代码段:

<?php 
    if ($totalRows_content > 0){ 
     do {?> 
      <table width="100%"> 
       <tr> 
        <td width="75px" height="75px" align="right"> 
         <img src="<?php echo $row_content['User_Pic']?>" width="50px" height="50px"> 
         <br /> 
         <?php echo $row_content['Author']?> 
        </td> 
        <td colspan="2"> 
         <h2> 
          <?php echo $row_content['Title']?> 
         </h2> 
        </td> 
       </tr> 
       <tr> 
        <td> 
        </td> 
        <td style="vertical-align:top"> 
         <h3> 
          <?php echo $row_content['Content']?> 
          <br /> 
          <br /> 
         </h3> 
        </td> 
        <td width="150px" style="vertical-align:top"> 
         <img src="<?php echo $row_content['Picture']?>" style="max-width:150px; max-height:100px"> 
         <h3> 
          <?php echo $row_content['Published']?> 
         </h3> 
         <br /> 
         <?php if(isset ($_SESSION['Username'])){?> 
          <form method="POST" action="<?php echo $editFormAction; ?>" name="vote"> 
           <input type="text" hidden="hidden" name="ID" value="<?php echo $row_content['ID']?>"> 
           <input type="text" hidden="hidden" name="votes_up" value="<?php echo ($row_content['Votes'] + 1)?>"> 
           <?php if(strpos($row_content['Vote_Who'], $_SESSION['Username']) !== false){?> 
            <input type="button" value="Thanks for voting!"> 
           <?php } 
           else{ ?> 
            <input type="submit" value="<?php echo $row_content['Votes']?>: Vote Up! ▲" width="75px"> 
            <input type="hidden" name="MM_update" value="vote"> 
           <?php } ?> 
          </form> 
          <a href="comments.php?ID=<?php echo $row_content['ID']?>"> 
           <input type="button" value="See Comments"> 
          </a> 
         <?php } 
         else{?> 
          <?php echo $row_content['Votes']?> Votes - You must be signed in to vote 
         <?php }?> 
        </td> 
       </tr> 
      </table> 
     <?php }while ($row_content = mysql_fetch_assoc($content));} 
     else{?> 
      there is nothing 
     <?php } 
     ?> 
+0

是php运行的吗? onlh我能想到的原因是你只是打开html – user5328504

+1

你是否启用error_reporting? –

+1

@ user5328504如果PHP没有运行,他将无法显示会话中的值。 –

回答

0

的问题已得到解决,其中我已经采用的

操作者
!== 

当我应该使用的是

!= 

例子:

strpos($row_content['Vote_Who'], $_SESSION['Username']) != false 

谢谢大家谁这个问题提供了援助。