我有这个PHP代码,用于确定用户是否已经投票。
$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 } ?>
但是当我在网络浏览器中看到结果时,两个按钮都会立即显示。
我该如何解决?
提前致谢。
更新: 完整代码部分:
<?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 :(得分:0)
问题在于我使用了
的操作符!==
当我应该使用的是
!=
示例:
strpos($row_content['Vote_Who'], $_SESSION['Username']) != false
感谢所有为此问题提供帮助的人。