aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2001-12-14 14:22:26 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2001-12-14 14:22:26 +0000
commitc65f84691a009def6a98807fe4395b517ff5a114 (patch)
treec54cf99d6f0bd90f237ed55f22e71c6e8a62b101
parentf65c4179a151562ad02246107b83893d76421e15 (diff)
downloadforums-c65f84691a009def6a98807fe4395b517ff5a114.tar
forums-c65f84691a009def6a98807fe4395b517ff5a114.tar.gz
forums-c65f84691a009def6a98807fe4395b517ff5a114.tar.bz2
forums-c65f84691a009def6a98807fe4395b517ff5a114.tar.xz
forums-c65f84691a009def6a98807fe4395b517ff5a114.zip
Altered update/insert procedure back to what it was ... otherwise no session_id is available for install
git-svn-id: file:///svn/phpbb/trunk@1569 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/includes/sessions.php33
1 files changed, 12 insertions, 21 deletions
diff --git a/phpBB/includes/sessions.php b/phpBB/includes/sessions.php
index 2052f853c0..1c4fe4cdaa 100644
--- a/phpBB/includes/sessions.php
+++ b/phpBB/includes/sessions.php
@@ -153,30 +153,23 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
//
// Create or update the session
//
- if( !$auto_create )
- {
- $sql = "UPDATE " . SESSIONS_TABLE . "
- SET session_user_id = $user_id, session_start = $current_time, session_last_visit = " . $sessiondata['lastvisit'] . ", session_time = $current_time, session_page = $page_id, session_logged_in = $login
- WHERE session_id = '" . $session_id . "'
- AND session_ip = '$user_ip'";
- $result = $db->sql_query($sql);
- if(!$result)
- {
- message_die(CRITICAL_ERROR, "Error updating current session : session_begin", "", __LINE__, __FILE__, $sql);
- }
- }
- else
+ $sql_update = "UPDATE " . SESSIONS_TABLE . "
+ SET session_user_id = $user_id, session_start = $current_time, session_last_visit = " . $sessiondata['lastvisit'] . ", session_time = $current_time, session_page = $page_id, session_logged_in = $login
+ WHERE session_id = '" . $session_id . "'
+ AND session_ip = '$user_ip'";
+ $result = $db->sql_query($sql_update);
+
+ if(!$result || !$db->sql_affectedrows())
{
- mt_srand( (double) microtime() * 1000000);
- $session_id = md5(uniqid(mt_rand()));
+ $session_id = md5(uniqid($user_ip));
- $sql = "INSERT INTO " . SESSIONS_TABLE . "
+ $sql_insert = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_last_visit, session_ip, session_page, session_logged_in)
VALUES ('$session_id', $user_id, $current_time, $current_time, " . $sessiondata['lastvisit'] . ", '$user_ip', $page_id, $login)";
- $result = $db->sql_query($sql);
+ $result = $db->sql_query($sql_insert);
if(!$result)
{
- message_die(CRITICAL_ERROR, "Error creating new session : session_begin", "", __LINE__, __FILE__, $sql);
+ message_die(CRITICAL_ERROR, "Error creating new session : session_begin", __LINE__, __FILE__, $sql);
}
}
@@ -272,7 +265,6 @@ function session_pagestart($user_ip, $thispage_id, $session_length)
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_time = $current_time, session_page = $thispage_id
WHERE session_id = '" . $userdata['session_id'] . "'
- AND session_user_id = " . $userdata['user_id'] . "
AND session_ip = '$user_ip'";
}
else
@@ -281,8 +273,7 @@ function session_pagestart($user_ip, $thispage_id, $session_length)
SET user_session_time = $current_time, user_session_page = $thispage_id
WHERE user_id = " . $userdata['user_id'];
}
- $result = $db->sql_query($sql);
- if( !$result )
+ if( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, "Error updating sessions table : session_pagestart", "", __LINE__, __FILE__, $sql);
}