ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
370
370
EMPFEHLEN
-
Hallo Leute,
hab ein grosses Problem und hoffe, dass mir jemand helfen kann.
Ich habe eine eigene Sessionverwaltung geschrieben(naja Anregungen aus einem Buch geholt). Diese Klasse deaktiviert die interne Routine der Sessionverwaltung von PHP und ersetzt sie durch meine eigne Methoden. Sie funktioniert bei mir zu Hause auf dem Webserver ganz gut nur sobald ich sie auf dem Providerserver hochlade bekomme ich folgende Meldung
Code :1
[b]Parse error[/b]: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in [b]mySession.php[/b] on line [b]4[/b]
Ich bin mir sicher, dass es nicht am { liegt. Vielleicht kann mir jemand sagen was ich falsch mache. DANKE
PHP-Code:<?PHP
class mySession
{
const myServ = 'localhost';
const myDB = 'xx';
const myTable = 'currentsession';
const myUser = 'xx';
const myPass = 'xx';
private static $dbLink;
public function __construct()
{
session_start();
$this->setDB();
$this->setTable();
$this->delSessions();
$this->setSessionID();
}
/*Baut eine Verbindung zu der angegebenen Datenbank auf*/
private function setDB()
{
self::$dbLink = mysql_connect(self::myServ,self::myUser,self::myPass);
}
/*Selektiert die angegebene Tabelle*/
private function setTable()
{
mysql_select_db(self::myDB,self::$dbLink);
}
/*Liefert als Ergebniswert eine neu Session ID*/
public function getSessionID()
{
$sid = session_id();
$_SESSION['sid'] = $sid;
return $sid;
}
/*Loescht alle Sessions die aelter als 30 min sind*/
private function delSessions()
{
$query = "DELETE FROM currentsession WHERE laccess < '(date(\"Y-m-d H:i:s\", date(\"H:i:s\")-30))'";
mysql_query($query,self::$dbLink);
}
/*Fügt eine neue Session ID in die currentsession Tabelle ein. Ist die session ID schon vorhanden wird der TIMESTAMP aktualisiert*/
private function setSessionID()
{
$time = date("Y-m-d H:i:s");
$sid = $this->getSessionID();
if(isset($sid))
{
$query = "SELECT sessionID FROM currentsession WHERE sessionID = '$sid'";
$dbResult = mysql_query($query,self::$dbLink);
if(mysql_num_rows($dbResult))
{
$query = "UPDATE currentsession SET laccess = '$time' WHERE sessionID = '$sid'";
mysql_query($query,self::$dbLink);
}
else
{
$query = "INSERT INTO currentsession (sessionID,laccess) VALUES('$sid','$time')";
mysql_query($query,self::$dbLink);
}
}
}
}
new mySession();
?>
-
Hmm...also bei mir funktioniert das ganze(bis auf MySQL-Verbindung natürlich). Kann mir das echt nicht erklären.
greetz
daddzbe inspired...simplify...
-
Kann es am Server konfiguration des Providers liegen.
hast du auf deinem Webserver getestet?
-
Ich habe es auf meinem lokalen Webserver getestet (Xampp) mit PHP 5.0.4.
Hmm...ich kann den Fehler echt nicht nachvollziehen.
greetz
daddzbe inspired...simplify...
-
Welche PHP-Version läuft denn auf deinem Webserver?
greetz
daddzbe inspired...simplify...
-
Auf dem Webserver des Providers PHP 4.
Hab mittlerweile die Fehlermeldungen unterdrucken können.
Ich glaube, dassist nicht PHP 4 konfirm. Jedoch hab ich jetzt das Problem, dass die session ID nicht in die DB reingeschrieben wird, oder erst gar nicht erzeugt wird.PHP-Code:self::$dbLink =
-
Also hab den Fehler selbst gefunden. Soweit ich es beurteilen kann, darf man in PHP 4 nicht solche schlüsselwörter wie public oder private verwenden. nDanke trotzdem für die Hilfe.
Ähnliche Themen
-
Eigene PHP MySql Function funktioniert nicht
Von FurbyHaxx im Forum PHPAntworten: 7Letzter Beitrag: 21.10.10, 12:09 -
[C++] Eigene toUpperCase Methode funktioniert nicht
Von Kirodema im Forum C/C++Antworten: 24Letzter Beitrag: 16.04.09, 23:07 -
Eigene Joomla-Komponente – Upload-Skript funktioniert nicht so recht
Von Chocobanana im Forum PHPAntworten: 2Letzter Beitrag: 24.08.06, 14:50 -
sichere Sessionverwaltung
Von x0x im Forum PHPAntworten: 3Letzter Beitrag: 13.05.05, 23:25 -
Eigene Template Klasse funktioniert nicht.
Von xamunrax im Forum PHPAntworten: 2Letzter Beitrag: 18.11.04, 14:56





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren