我正在尝试为我的网站构建一个登录页面。我已设法使用简单的用户名和密码列创建数据库。并使用Dreamweaver创建登录表单。我的问题是我希望用户根据他们的身份重定向到不同的页面。示例:如果Bob(用户名:bob123)登录,我希望将其重定向到第x页,但如果Joe(用户名:joe123)登录,我希望将其重定向到第y页。 Dreamweaver只允许我指定一个页面。
是否有人知道根据用户名在数据库中重定向用户的任何代码。
我的HTML和CSS技能很不错,但在这类事情上我几乎一无所知。任何帮助将不胜感激。
谢谢!
这是我到目前为止的PHP代码(它是由Dreamweaver制作的,而不是我)。
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "http://------------";
$MM_redirectLoginFailed = "http://-------------";
$MM_redirecttoReferrer = false;
mysql_select_db($database_-------------, $---------);
$LoginRS__query=sprintf("SELECT Username, Password FROM userdatabase WHERE Username=%s AND Password=%s",
GetSQLValueString($loginUsername, "int"), GetSQLValueString($password, "int"));
$LoginRS = mysql_query($LoginRS__query, $----------------) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
答案 0 :(得分:3)
在PHP中,您通过发送包含新位置的标题重定向到另一个页面:
header("Location: http://www.example.com");
一个简单但不太可扩展的解决方案是替换:
header("Location: " . $MM_redirectLoginSuccess );
使用:
if ($loginUsername === 'bob123') {
header("Location: http://www.example.com/bobs_page.html");
} else if ($loginUsername === 'joe123') {
header("Location: http://www.example.com/joes_page.html");
} else {
header("Location: " . $MM_redirectLoginSuccess );
}
答案 1 :(得分:1)
好吧,我没有使用DreamWeaver(我确实已将它安装在我的盒子上,因为它附带了CS5 Web Premium ......从来没有一次解决它),但我的建议是将每个用户的首选登录页面存储在您的数据库,从数据库中获取值,并相应地更改$ MM_redirectLoginSuccess。
这需要一些PHP和MySQL的知识。没有时间像现在这样学习:P