<?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。我在处理器/assess_login.php 中设置了 $_SESSION['login']。ProcessLog 只是一些 div 的容器和表单,表单将信息传递给 asssess_login(然后告诉我登录是否成功)。一个显示登录表单,另一个显示注销表单。不幸的是,即使我得到“登录成功”......令人担忧的是 $_SESSION['login'] 拒绝更改为 '1'。(如果登录成功,这就是我在评估登录中所做的。如果失败,我将其设置为空字符串。
现在据我所知 session_start() 应该记住这一点,但由于某种原因......它没有;所以关于我的错误搜索的任何提示
有编译错误和带走!事实上确实显示了替代方案,所以我知道那个位“正在”工作它只是没有评估为真。
现在......至于assess_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);
}
记住它有点被掩埋了。正如我之前所说,我无法让登录保持不变,而且我知道我错过了一些明显的东西,如果我能弄清楚是什么,我会被诅咒的。