<?php
//Login Module (Updated, isset now correct)
session_start();
if(!(isset($_SESSION['login']) && ($_SESSION['login'] != ""))) {
include('processor/ProcessLogout.php');
} else {
include('processor/ProcessLog.php');
}
?>
问题是......它不起作用。我似乎无法让它验证真正的T_T。我在processor / assess_login.php中设置$ _SESSION ['login']。 ProcessLog只是一些div的容器,表单将表单传递给asssess_login(然后告诉我登录是否成功)。一个显示登录表单,另一个显示注销表单。不幸的是,即使我得到“登录成功”......但是相当令人担心的是$ _SESSION ['login']拒绝改为'1'。 (如果登录成功,那就是我在assessment_login中所做的。如果失败我将其设置为空字符串。
现在据我所知,session_start()应该记住这个,但由于某种原因......它不是o.o;关于我的虫子狩猎的任何提示
有编译错误并带走了!事实上显示替代方案,所以我知道有点'工作'它只是没有评估为真。
现在......至于assessment_login ......
if ($db_found) {
$member_username = quote_smart($member_username, $db_handle);
$member_password = quote_smart($member_password, $db_handle);
$sql = "SELECT * FROM $tblname WHERE username=$member_username AND passphrase=$member_password";
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);
//Validate there is a user
if($result) {
if($num_rows == 1) {
session_start();
$_SESSION['login'] = '1';
header("location: ../login_success.php");
} else {
session_start();
$_SESSION['login'] = "";
header("location: ../login_fail.php");
}
} else {
$error_msg = "Error Validating User! -1";
}
mysql_close($db_handle);
}
请记住 埋藏了一些。正如我之前所说,我无法登录,我知道我错过了一些显而易见的东西,如果我能弄明白的话,我会被诅咒。
答案 0 :(得分:1)
您的if语句不正确:
if(!(isset($_SESSION['login'])) && ($_SESSION['login'] != ""))
应该是
if(!(isset($_SESSION['login']) && $_SESSION['login'] != ""))
答案 1 :(得分:0)
if(!(isset($_SESSION['login']) && $_SESSION['login'] != ""))
在此代码中,您说:如果未设置且不为空 你希望它被设置而不是空:
if((isset($_SESSION['login'])) && ($_SESSION['login'] != ""))