i can't see any imminent problem. if it's critical, make sure data is sent over https, so people hijacking network traffic can't tamper with it (as Stefan Mai suggested). otherwise, it seems ok - as long as nobody is stealing your users session cookies.
decezes method is just another coding style. it doesn't increase security per se, but may prevent sloppy programmers from making mistakes in the form of:
if (checkIfLoggedIn()) {
doPrivateThing();
}
doAnotherPrivateThing(); // bug: the programmer should have
// put that into the if-conditional
otherwise, make sure the session id is stored in a cookie, and never passed transparently over the URL! i'm not sure about the default settings in the php.ini nowadays, but it used to do url rewrites automatically if cookies are disabled. better check that.
as far as i remember, the ini-option is session.use_only_cookies
(should be enabled)
php/session security
update:
"Just thinking maybe someone can just create a session on their site"
no, that won't work. sessions are created upon session_start();
(or sometimes automatically). $_SESSION['id']
has nothing to do with the session_id();
, it's just some variable. though it's not very well named, because other could indeed confuse it (maintainability!). better name it $_SESSION['isUserLoggedIn'];
or something like that.