2017-04-26 77 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 

謝謝大家誰這個問題提供了援助。