Date: 01/04/01
- Next message: Ulf Wendel: "Re: [phplib] HELP: oohforms"
- Previous message: Marko Kaening: "Re: [phplib] HELP: oohforms"
- Next in thread: abdel: "[phplib] error phplib"
- Reply: abdel: "[phplib] error phplib"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hallo,
ich würde gerne die Sessions von PHP4 verwenden, dabei aber
wie in der PHPLIB auch eine Fallbackfunktionalität haben
(wenn keine cookies, dann get)
das habe ich bereits mit der class.Session.inc
"Manueller" Session-Fallback mit PHP4 version 1.02
- 071100/00:38 von Daniel T. Gorski (quellcode s.unten)
versucht, allerdings wird hierbei auf jeder Seite
ereut versucht einen cookie anzulegen, bei der phplib
war das viel besser.
wo liegt das problem ? wie kann ich es lösen ?
1000 Dank für jede hilfe!
ich benutzte PHP 4.01pl2 (läßt sich auch ändern, falls dies
zur lösung des problems benötigt wird!)
allerdings würde ich auf die option "--trans-sid" gerne
verzichten.
<?php
// Datei: class.Session.inc
// Benötigt: mind. 4.0.1pl2
/**
* "Manueller" Session-Fallback mit PHP4
*
* <email protected> Daniel T. Gorski <daniel.gorski <email protected>>
* <email protected> 1.02 - 071100/00:38
*/
class Session {
var $version = 102; // V1.02
var $usesCookies = false; // Client nimmt Cookies an
var $transSID = false; // Wurde mit --enable-trans-sid
// kompiliert
### -------------------------------------------------------
/**
* Konstruktor - nimmt, wenn gewünscht einen
* neuen Session-Namen entgegen
*/
function Session($sessionName="SESSID") {
global $HTTP_POST_VARS,$HTTP_GET_VARS,
$HTTP_COOKIE_VARS,$QUERY_STRING,$PHP_SELF;
$this -> sendNoCacheHeader();
// Session-Namen setzen, Session initialisieren
session_name(isset($sessionName) ? $sessionName : session_name());
<email protected>();
// Prüfen ob die Session-ID die Standardlänge von 32 Zeichen hat,
// ansonsten Session-ID neu setzen
if (strlen(session_id()) != 32)
{
mt_srand ((double)microtime()*1000000);
session_id(md5(uniqid(mt_rand())));
}
// Prüfen, ob eine Session-ID übergeben wurde
// (über Cookie, POST oder GET)
if ( <email protected>($HTTP_COOKIE_VARS[session_name()]) != 32 &&
<email protected>($HTTP_POST_VARS [session_name()]) != 32 &&
<email protected>($HTTP_GET_VARS [session_name()]) != 32)
{
// Es wurde keine (gültige) Session-ID übergeben.
// Script-Parameter der URL zufügen
$query = @$QUERY_STRING != "" ? "?".$QUERY_STRING : "";
header("Status: 302 Found");
$this -> redirectTo($PHP_SELF.$query); // Script terminiert
}
// Wenn die Session-ID übergeben wurde, muß sie
// nicht unbedingt gültig sein!
// Für weiteren Gebrauch merken
$this -> usesCookies =
<email protected>($HTTP_COOKIE_VARS[session_name()]) == 32;
}
-- Sent through GMX FreeMail - http://www.gmx.net--------------------------------------------------------------------- To unsubscribe, e-mail: phplib-unsubscribe <email protected> For additional commands, e-mail: phplib-help <email protected>
- Next message: Ulf Wendel: "Re: [phplib] HELP: oohforms"
- Previous message: Marko Kaening: "Re: [phplib] HELP: oohforms"
- Next in thread: abdel: "[phplib] error phplib"
- Reply: abdel: "[phplib] error phplib"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

