-Tom-Tom-
Threadersteller
Dabei seit: 07.05.2012
Ort: Regensburg
Alter: -
Geschlecht:
|
Verfasst Sa 19.05.2012 00:29
Titel Joomla und Sessions, |
|
|
Danke für deine Antwort
Leider bahnt sich gerade schon wieder ein neues Problem an, diesmal ist es aber wirklich nicht ohne, zumindest funktioniert fast der gleiche Code bzw. die Sessions fehlerfrei, nur unter Joomla nicht.
Das ganze ist ein Counter-Modul für Joomla.
Code: | <?php
// counter
// no direct access
defined('_JEXEC') or die;
$mod_startvalue = $params->get('mod_startvalue');
$mod_updatetime = $params->get('mod_updatetime');
//**** Initialisierung ****
// Datenbank von Joomla ermitteln, gegebenenfalls Tabelle erstellen
$database =& JFactory::getDBO();
$query = "CREATE TABLE IF NOT EXISTS ".$database->nameQuote('#__msr_cnt')." (mod_countvalue INT NOT NULL DEFAULT '0', mod_startvalue INT NOT NULL DEFAULT '0')";
$database->setQuery($query);
$database->query();
// Ermitteln ob bereits ein Eintrag vorhanden ist
$query = "SELECT COUNT(*) FROM ".$database->nameQuote('#__msr_cnt');
$database->setQuery($query);
$items = $database->loadResult();
// Gegebenenfalls Eintrag mit Wert 0 anlegen
if($items == 0)
{
$query = "INSERT INTO ".$database->nameQuote('#__msr_cnt')." (mod_countvalue, mod_startvalue) VALUES (0, 0)";
$database->setQuery($query);
$database->query();
}
//**** Eigentlicher Conter ****
// Session starten
session_set_cookie_params(10);
session_start();
// Falls Session noch nicht gesetzt; Besucher + 1
$query = "SELECT mod_countvalue FROM ".$database->nameQuote('#__msr_cnt')." LIMIT 1";
$database->setQuery($query);
$mod_countvalue = $database->loadResult();
if(!isset($_SESSION['counter_lock']))
{
$mod_countvalue++;
$query = "UPDATE ".$database->nameQuote('#__msr_cnt')." SET mod_countvalue=".$mod_countvalue;
$database->setQuery($query);
$database->query();
$_SESSION['counter_lock']=1;
}
$visitors = $mod_countvalue + $mod_startvalue;
echo '<p>Besucher: '.$visitors.'</p>';
?> |
Mein Problem ist, dass meine Session deren Lebenszeit ich mit session_set_cookie_params(10); auf 10s (10 sek zum testen^^) setzte irgendwie nicht abläuft, der Zähler zählt selbst nach 10 Minuten nicht weiter. Sitz nun schon seit heute Vormittag an dem Problem und komm nicht weiter. Kann jemand helfen?
Gruß
|
|