我设计了一个网站,允许用户使用简单的html表单注册。我希望用户在验证注册后重定向到主页,并为新用户显示此消息"Account created",我在网上找到了很多答案,但都是旧的、不同的——这很令人困惑——我想找到最新、最有效的方法来做这件事。
这是我的登录代码
<?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 />
<input type='submit' value='Login' /> </form>"
?>
这是我主页上创建会话的代码
include_once 'rnheader.php';
if (!isset($_SESSION['user']))
die("<br /><br />You must be logged in to view this page");
$user = $_SESSION['user'];
执行此操作的方式与登录相同。您可以通过存储带有用户id的$_cookie或$_session值来进行登录。因此,注册后只需存储id并将其重定向到主页即可。在主页上查看食谱。如果cookie不存在,则意味着用户没有登录,您应该显示一个通用主页。如果用户设置了cookie,请使用userid获取有关并生成为该用户定制的页面。