Problem mit time() und addition

timäää

Erfahrenes Mitglied
Hi!

Ich bin hier mittlerweile fast am verzweifelen. Ich hab folgenden Code:
PHP:
global $sessionExpireTime;
$sessionExpireTime = 600;
function createNewSession($userID)#erzeugt eine neue Session und gibt die SessionID zurück
{	
	$ip = $_SERVER['REMOTE_ADDR'];
	$sessionID = md5(rand());
	
	$sessionTime = time()+ $sessionExpireTime;
	
	$query_newSession = "INSERT INTO `sessions` ( `sessionID` , `userID` , `ip` , `time` ) VALUES ( '".$sessionID."', '".$userID."', '".$ip."', '".$sessionTime."');";
	mysql_query($query_newSession);
	return $sessionID;
}
Allerdings wird in die Datenbank in "time" immer nur die aktuelle Zeit geschrieben (also das was time() alleine ausgibt). time wird in der Datenbank als int gespeichert.

Wisst ihr worand das liegen könnte?
 
So, wie es aus dem Code und deiner Beschreibung(int als Typ) hervorgeht, würde ich sagen, es kann nicht sein, zumindest lässt dies keine Erklärung zu.
 
Gut zu wissen das ich nich der einzige bin der nicht weiß woran es liegt ^^

Hab das Problem jetz auch temporär gelöst

PHP:
$query_newSession = "INSERT INTO `sessions` ( `sessionID` , `userID` , `ip` , `time` ) VALUES ( '".$sessionID."', '".$userID."', '".$ip."', '".(time()+600)."');";

Ist zwar leider nicht so schön, da man jetzt die zeit überall von hand umstellen muss und nicht mehr bloß einfach am anfang in der Variablen, aber wenigstens gehts erstmal...
 
hi, um die Variable $sessionExpireTime in der Funktion verwenden zu können, musst du sie in der Funktion mittels "global" einbinden. Also so:

PHP:
$sessionExpireTime = 600;
function createNewSession($userID)#erzeugt eine neue Session und gibt die SessionID zurück
{    
    global $sessionExpireTime;
    $ip = $_SERVER['REMOTE_ADDR'];
    $sessionID = md5(rand());
    
    $sessionTime = time()+ $sessionExpireTime;
    
    $query_newSession = "INSERT INTO `sessions` ( `sessionID` , `userID` , `ip` , `time` ) VALUES ( '".$sessionID."', '".$userID."', '".$ip."', '".$sessionTime."');";
    mysql_query($query_newSession);
    return $sessionID;
}

(siehe auch: http://www.php.net/global)
 
Zurück