PHP-在登录时向用户隐藏信息


PHP - Hiding information from a user whilst logged in

我正在尝试学习php,而且我还处于非常早期的阶段!

我试图做的是在用户登录时隐藏包含登录表单的div,我已经成功地创建了数据库连接和登录表单等,以允许用户保持登录和会话保持打开,但不确定下一步要隐藏。

我知道我需要一个if语句,但不知道该去哪里!

我不会包括整个代码,因为html是巨大的,但这里是我想隐藏的形式:

    <form id="login" name="login" action="logincheck.php" method="post">
        User Name: 
        <input type="text" name="username"></input>
         Password: 
        <input type="password" name="password"></input>
        <input type="submit" name="submit" value="login"></input>
         <a href="javascript: void(0)" onclick="popup('register.html')" > (Register)</a>
        <br /><br /><br />
    </form>

不确定你需要看到什么elso,但这里是页面中的php:

<?php
if (isset($_GET['showerror']))
$errorcode = $_GET['showerror'];
else
$errorcode = 0;
?>

那是在标签之前,然后在我的表格之前:

<?php
if ($errorcode == 1)
{
echo "<h3>Your login has failed. Try again</h3>";
}
?>

您是否需要登录检查php代码和数据库连接php代码来帮助提供建议?

假设您有一个名为$logged_in的变量。然后,您可以根据用户是否像这样登录来启用该表单。使用模板的特殊控制语法:
<?php if (!$logged_in): ?>
  <form id="login" name="login" action="logincheck.php" method="post">
    User Name: 
    <input type="text" name="username"></input>
     Password: 
    <input type="password" name="password"></input>
    <input type="submit" name="submit" value="login"></input>
     <a href="javascript: void(0)" onclick="popup('register.html')" > (Register)</a>
    <br /><br /><br />
  </form>
<?php endif; ?>

至于你的PHP代码,我不确定$_GET['showerror']的含义是什么,但在我看来,你似乎是在用Javascript执行身份验证,然后重定向到你的PHP或其他什么。请注意,可以很容易地调用像logincheck.php?errorcode=0这样的脚本,并欺骗它以为自己刚刚正确登录。

您应该在PHP代码中执行身份验证。如果登录成功,只需创建一个会话,并在$_SESSION变量中将其标记为已通过身份验证,然后它将在页面加载中持久存在。

记住,PHP基本上运行你的脚本,然后输出任何结果。

因此,如果您将PHP封装在if块中,如下所示,它将只在适当的时候显示。

<?
if(!$loggedInVariable)//use whatever logic you want here, 
//the key is that this should return false if you're logged in
{
?>
<form id="login" name="login" action="logincheck.php" method="post">
    User Name: 
    <input type="text" name="username"></input>
     Password: 
    <input type="password" name="password"></input>
    <input type="submit" name="submit" value="login"></input>
     <a href="javascript: void(0)" onclick="popup('register.html')" > (Register)</a>
    <br /><br /><br />
</form>
<?php
}
?>