这是一个有点菜鸟的问题,但是..有时每个人都会遇到这种情况。
我从未使用过 $_SESSION,因此一旦我需要一个登录系统,我就会使用 Dreamweaver 为我做一个。
我有一个页面,他要求输入用户名和密码。 如果登录成功,它会转到其他页面。否则,它会在登录页面中显示。
问题在于曾经工作的登录系统现在无法工作。 因为他停留在登录页面。我已经做了“echo $_SESSION['MM_Username'];”
什么也没返回。所以我认为这意味着我没有创建用于访问的 cookie??
对吗?我认为 session 中的 echo 显示了一些内容。
我可以帮忙吗?也许是一个简单的登录系统。不是 Dreamweaver 登录。
我将在登录页面中发布用户登录代码。
// *** 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['passe'];
$MM_fldUserAuthorization = "power";
$MM_redirectLoginSuccess = WWW."/administrador";
$MM_redirectLoginFailed = WWW."/login";
$MM_redirecttoReferrer = false;
mysql_select_db($database_dbconnect, $dbconnect);
$LoginRS__query=sprintf("SELECT username, passwd, power FROM `user` WHERE username=%s AND passwd=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $dbconnect) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'power');
//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 );
}
}
我工作过。它是您在 $MM_redirectLoginSuccess 和 $MM_redirectLoginFailed 中看到的更改,并且数据库中没有任何更改。
如果累了一些。只需发布一个简单的登录用户代码,我找到了一些,但不是很好。剩下的由我来做。
你知道它有什么奇怪的吗?有效。我保存了,然后关掉电脑,然后当我回来时就不起作用了。
再次感谢。
最佳答案
我想你的数据库正在运行?
否则,只需开始检查代码,在调试变量时尝试使用 var_dump($var) 这样您就会看到正在调试的变量的类型(特别是如果它为空)。
$LoginRS__query -- 回显此内容,并查看正在生成什么查询。自己通过数据库运行它,看看会发生什么。
header("位置:". $MM_redirectLoginSuccess ); -- 请记住,如果已发送任何数据(变量回显等),则将无法重定向用户,因为 header 已已发送。
关于PHP:用户登录系统/检查用户是否有权访问页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/960979/