所以我正在尝试为该帐户的用户显示一条消息。所以我要转到用户个人资料/index.php?username=joe
。如果我Joe
你有发布的能力,那么我会展示一个邮箱。由于某些原因,即使您不是Joe
,该框也会显示。这是我的代码
$stmt = $con->prepare("SELECT username FROM users WHERE username = :username");
$stmt->bindValue(':username', $_GET['username']);
$stmt->execute();
$row = $stmt->fetch();
$username = $row['username'];
if (count($username) < 1){
echo "User not found";
}
echo $_SESSION['user'];
echo $username;
?>
//Issue has to be here somewhere
<?php if($_SESSION['loggedIn'] == true || $username == $_SESSION['user']) : ?>
<form method="post" action="http://localhost:8888/post/p.php">
<input type="text" name="post" placeholder="Post">
<input type="submit">
</form>
<?php else: ?>
<!--Display sign up and in-->
<p>Sign in </p>
<?php endif; ?>
所以echo $_SESSION['user'];
显示Allen,而echo $username;
显示Joe。所以我假设表格不应该显示。有任何想法吗?
答案 0 :(得分:1)
您使用的操作符错误。 ||
表示逻辑OR
。
<?php if($_SESSION['loggedIn'] == true || $username == $_SESSION['user']) : ?>
相反,您需要一个逻辑AND
:
<?php if($_SESSION['loggedIn'] == true && $username == $_SESSION['user']) : ?>
答案 1 :(得分:1)
不确定但你在这做什么
<?php if($_SESSION['loggedIn'] == true || $username == $_SESSION['user']) : ?>
如果您已登录或您是用户。我想你可能想把它改成:
<?php if($_SESSION['loggedIn'] == true && $username == $_SESSION['user']) : ?>