我看到相关主题,但想知道是否有人可以帮助我。这是错误持久的代码的开始。我只维护我的组织的网站,并没有编码任何这个。希望有人可以请求帮助解决以下代码段的建议:
session_name('melroseSoccerAdmin');
session_start();
session_register('current_user_id');
session_register('current_user_firstName');
session_register('current_user_lasstName');
session_register('current_user_username');
session_register('current_user_isAdmin');
session_register('current_user_team_id');
session_register('perpetuate');
/* If session not yet validated or session time expired, check credentials */
if (!$_SESSION['perpetuate'] || $_SESSION['perpetuate'] < time()) {
$dbh = mysql_connect($leagueHost, $leagueUser, $leaguePass) or die ('cannot connect');
$authSQL = "SELECT users.user_firstName, users.user_lastName, users.user_isAdmin, users.user_id, users.team_id, leagues.league_id ";
$authSQL .= "FROM users ";
$authSQL .= "LEFT JOIN teams ON users.team_id = teams.team_id ";
$authSQL .= "LEFT JOIN leagues ON teams.league_id = leagues.league_id ";
$authSQL .= "WHERE user_username = '" . addslashes($username) . "' AND user_password = PASSWORD('" . addslashes($password) . "')";
$result = mysql_db_query($leagueDB, $authSQL, $dbh) or die ('bad login query');
header("HTTP/1.0 401 Unauthorized");
while (list($firstName, $lastName, $isAdmin, $id, $team_id, $league_id) = mysql_fetch_row($result)) {
$perpetuate = time() + $sessionLength;
$_SESSION['perpetuate'] = $perpetuate;
$current_user_id = $id;
$_SESSION['current_user_id'] = $current_user_id;
$current_user_name = $username;
$_SESSION['current_user_username'] = $current_user_username;
$current_user_firstName = $firstName;
$_SESSION['current_user_firstName'] = $current_user_firstName;
$current_user_lastName = $lastName;
$_SESSION['current_user_lastName'] = $current_user_lastName;
$current_user_isAdmin = $isAdmin;
$_SESSION['current_user_isAdmin'] = $current_user_isAdmin;
$current_user_team_id = $team_id;
$_SESSION['current_user_team_id'] = $current_user_team_id;
答案 0 :(得分:1)
您不需要使用注册功能。您可以这样使用会话变量:
$_SESSION['current_user_team_id'] = 'something';
此功能自PHP 5.3.0起已废弃,并已删除 PHP 5.4.0。