ok. ups also ich hab mich schlecht ausgedrückt bzw einige sachen vergessen:
aslso meine session tabelle sie folgender maßen aus:
ID bigint(4) NOT NULL auto_increment,
Session_ID varchar(32) NOT NULL default '0',
Session_UID tinyint(4) NOT NULL default '0',
Session_Login int(11) NOT NULL default '0',
Session_Time int(11) NOT NULL default '0',
Session_IP varchar(8) NOT NULL default '',
Session_Location varchar(30) NOT NULL default '',
Session_Location_Link varchar(255) binary NOT NULL default '',
gelöscht wird wenn die session länger als 5 min nicht upgedatet worden ist. (zeit kann ich variabel einstellen)
Code: Alles auswählen
if(isset($_COOKIE['Kalium_Check']) and $_COOKIE['Kalium_Check'] == "true"){
$query = mysql_query("SELECT * FROM kalium_sessions WHERE Session_ID = '".session_id()."' and Session_IP = '".encode_ip($IP)."' LIMIT 1");
checkquery($query);
$row = mysql_fetch_array($query);
if($_SESSION['UID'] == ''){
$user = 0;
}
else{
$user = $_SESSION['UID'];
}
if($row['ID'] != ''){
$query = mysql_query("UPDATE kalium_sessions SET Session_UID = '".$_SESSION['UID']."', Session_Time = '".time()."',
Session_Location = '".Position."', Session_Location_Link = '".Position_Link."'
WHERE Session_ID = '".session_id()."' AND Session_IP = '".encode_ip($IP)."'");
checkquery($query);
}
else{
$query = mysql_query("INSERT INTO kalium_sessions (Session_ID,Session_UID,Session_IP, Session_Login, Session_Time, Session_Location, Session_Location_Link)
VALUES ('".session_id()."','".$user."','".encode_ip($IP)."','".time()."','".time()."','".Position."','".Position_Link."') ");
checkquery($query);
}
}
//cleanup
$query = mysql_query("SELECT * FROM kalium_sessions");
$row = mysql_fetch_array($query);
while($row){
if($row['Session_Time'] < (time() - $config['session_del_frq'])){
$query_del = mysql_query("DELETE FROM kalium_sessions WHERE ID = '".$row['ID']."' LIMIT 1");
#echo "deleted";
}
$row = mysql_fetch_array($query);
}
(teil der datei common.php)
das cookie setze ich in einer datei (vars.php)ein, die vor der datei includet wird um zu sehen ob der user cookies akzeptiert, da eben sonst oben genanntes prob auftritt.
da die cookies aber erst gesetz werden, wenn das script fertig geparst ist, ist das zu spät.
ich include bei mir in jeder seite zuerst
config.php
vars.php
session.php
functions.php
common.php
die session_cookies werden in der session.php erzeugt die folgenden code hat:
Code: Alles auswählen
if(!defined("InKalium")){
die("Hacking attempt");
}
else{
session_start();
session_register('LoggedIn');
session_register('UID');
session_register('Priv');
session_register('Pw');
session_register('Active');
session_register('AutoLogin');
session_register('NotDisabled');
session_register('Edit'); //um das menü zu bearbeiten
}