所以我对PHP非常陌生,我可能犯了一个愚蠢的错误。不过,我已经搜索了很长一段时间,并且无法弄清楚出了什么问题。
使用XAMPP所有PHP工作正常。但是,当我将其加载到我的Web服务器上时,调整登录表单的if语句同时显示“登录”表单和“注销”表单。显然不是我想要的!
以下是代码段:
<?php
if ( isset( $_SESSION['email'] ) ) { // Check to see if user is logged in. If so, display log out button.
?>
<form class="navbar-form pull-right" action="logout.php" method="POST">
<button name="submit" type="submit" class="btn btn-success">Log Out</button>
</form>
<?php
} else { // display log in form
?>
<form class="navbar-form pull-right" action="login.php" method="POST">
<input name="email" type="text" class="span2" placeholder="email">
<input name="password" type="password" class="span2" placeholder="password">
<button name="submit" type="submit" class="btn btn-success">Log In</button>
</form>
<?php
}
?>
这包含在文件index.php
中基本逻辑是测试是否为会话创建了一个电子邮件变量(在login.php执行中完成)以检查用户是否已登录。
我不知道这是否是创建登录的最佳方式,但这就是我尝试过的。
同样,我对此非常陌生,因此,非常感谢任何有关下一步观看的见解!
谢谢!
答案 0 :(得分:5)
执行视图源并确保实际解释您的PHP代码。如果您在浏览器的源代码中看到了PHP标记,那么您的Web服务器配置不正确。
答案 1 :(得分:0)
尝试
if(!empty( $_SESSION['email'] ))
我希望你在开头做了session_start()。
答案 2 :(得分:0)
我认为您的* .php文件的行为与PHP文件不同。您应该检查您的Web服务器设置。
答案 3 :(得分:0)
您没有使用echo
。可以尝试在之前没有echo
语句的情况下回复文本吗?