注册PHP后自动登录

注册PHP后自动登录,php,html,forms,Php,Html,Forms,我设计了一个网站,允许用户注册一个简单的html表单。我希望用户在验证注册后重定向到主页,并为新用户“创建帐户”显示此消息,我在互联网上找到了许多答案,但所有答案都是旧的和不同的-这让人困惑-我希望获得最新和最有效的方法来做到这一点 这是我的登录代码 <?php // rnlogin.php include_once 'rnheader.php'; echo "<h3>Member Log in</h3>"; $error = $user = $pass =

我设计了一个网站,允许用户注册一个简单的html表单。我希望用户在验证注册后重定向到主页,并为新用户“创建帐户”显示此消息,我在互联网上找到了许多答案,但所有答案都是旧的和不同的-这让人困惑-我希望获得最新和最有效的方法来做到这一点

这是我的登录代码

 <?php // rnlogin.php
 include_once 'rnheader.php';
echo "<h3>Member Log in</h3>"; 
$error = $user = $pass = "";
if (isset($_POST['user'])) 
{
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
if ($user == "" || $pass == "")
    {
    $error = "Not all fields were entered<br />";
    }
    else
        {
        $query = "SELECT user,pass FROM rnmembers
            WHERE user='$user' AND pass='$pass'";
    if (mysql_num_rows(queryMysql($query)) == 0)
        {
        $error = "Username/Password invalid<br />";
        }
        else
            {
            $_SESSION['user'] = $user;
            $_SESSION['pass'] = $pass;
            die("You are now logged in. Please
                <a href='rnmembers.php?view=$user'>click here</a>.");
            }
            }
            }
 echo " <form method='post' action='rnlogin.php'>$error Username <input type='text' maxlength='16' name='user'
            value='$user' /><br /> Password <input type='password' maxlength='16' name='pass'
                value='$pass' /><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
                    <input type='submit' value='Login' /> </form>"
?>

这与登录的方式相同。
您可以通过使用用户id存储$\u cookie或$\u会话值来进行登录。
因此,注册后只需存储id并将其重定向到主页。
在主页上查看cooke。如果cookie不存在,则意味着
用户未登录,您应该显示一个通用主页。
如果用户设置了cookie,则使用userid获取有关cookie的数据

请为您的问题添加代码。我添加了代码,但我认为这并不重要。重要的是要知道您使用的是什么以及当前的工作方式,否则,您可能会得到50个不同的正确答案。我用登录代码编辑了问题。@Sparrow。。。据我所知,您错过了一个会话_start();它必须使用$\u会话变量显示在b4上,并显示在您想要的主页上。。。只需调用session_start()并检查这些变量的值。如果它们为空,则用户不会登录,但如果它们具有值,则可以说Hello$\u SESSION['user'];我编辑了这个问题,先生,你能提供更多细节吗,先生?我用它向他解释。。。会话只是在cookie上实现的一个层。就我个人而言,这些天我甚至不怎么使用PHP。像CodeIgniter这样的框架有自己的会话implementation@SpYk3HH当我不懂PERL时的感觉。。。嗨,伙计们,我对你们的对话很感兴趣,但你们必须帮助我:D我只是用更多的内容编辑了我的代码details@Sparrow ... 在这两种情况下,您都缺少会话_start();在检查会话变量之前调用
include_once 'rnheader.php';
if (!isset($_SESSION['user']))
die("<br /><br />You must be logged in to view this page");
$user = $_SESSION['user'];