php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.06.2005, 12:06  
Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 70
schmiddy
schmiddy eine Nachricht über ICQ schicken
Standard sessions..

also... ich wollte meine sessions in die mysql db schreiben. nur leider funzt das net... ich habe mir schon ein paar manuals durchgelesen, es aber net so richtig gepeilt.. kann mir einer helfen..

2.prob:

ich wollte das die session für mehrere interne seiten gültig ist, wie mach ich sowas?

MfG

Schmiddy

danke fürs helfen
schmiddy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.06.2005, 12:16  
Gast
 
Beiträge: n/a
Standard

ich find immer am besten

Datei1 session.php
PHP-Code:
<?php
error_reporting
(E_ALL);
//************* SET SESSION NAME
session_cache_limiter('nocache');
session_name('sid');
session_save_path(dein pfad);

//************* SESSION START
session_start();

//************* SET SESSION COOKIE
setcookie(session_name(), session_id(), time() + 86400);

if (
strlen(session_id()) != 32)
{
    
mt_srand ((double)microtime()*1000000);
    
session_id(md5(uniqid(mt_rand())));
}

$_SESSION['user']['name']=false==isset($_SESSION['user']['name']) ? 'Gast' $_SESSION['user']['name'];
?>
jetzt brauchst du nur in jede datei nach deinem dateikopf
PHP-Code:
<?php
/**
 * some comment
 */
error_reporting(E_ALL);
include_once(
'session.php');

print_r($_SESSION);
?>
zu session in DB --- schlagwort serialize($_SESSION);
 
Alt 04.06.2005, 14:07  
Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 70
schmiddy
schmiddy eine Nachricht über ICQ schicken
Standard

aha, er speichert die session jetzt als cookie.. ähm... aber so richtig versteh ich den code net kannste nachhelfen?
schmiddy ist offline  
Alt 04.06.2005, 14:13  
Gast
 
Beiträge: n/a
Standard

jupp sollten cookie deaktiviert sein und trans.sid

hinter den link die Konstant SID

oder in oop
PHP-Code:
<?php
class Session_class
{
    
/**
     * @var boolean
     */
    
var $usesCookies false;
    
    
/**
     * @var boolean
     */
    
var $foundSID    false

    
/**
     * - Konstruktor
     * - check if sessionid valid
     * - check is cookie used
     * - create session Uservariable
     *
     */
    
function Session_class()
    {
        global  
$HTTP_POST_VARS$HTTP_GET_VARS$HTTP_COOKIE_VARS$QUERY_STRING$PHP_SELF$SID$ISID$uri_array;

        
$this->sendNoCacheHeader();
        
$sid=&$SID;
        
$isid=&$ISID;
        
        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)
        
$IDpassed =& $this->foundSID;

        if  (isset(
$HTTP_COOKIE_VARS[session_name()]) &&  @strlen($HTTP_COOKIE_VARS[session_name()]) == 32)   $IDpassed true;
        if  (isset(
$HTTP_POST_VARS [session_name()]) && @strlen($HTTP_POST_VARS[session_name()]) == 32)   $IDpassed true;
        if  (isset(
$HTTP_GET_VARS[session_name()]) && @strlen($HTTP_GET_VARS[session_name()]) == 32)   $IDpassed true;
  
        
$this->usesCookies=(isset($HTTP_COOKIE_VARS[session_name()]) && @strlen($HTTP_COOKIE_VARS[session_name()]) == 32);
        list(
$sid$isid)=$this->checkCookieUsed();
        
        if (empty(
$_SESSION['user']['name']))
        {
            
$_SESSION['user']['name'] = 'Gast';
            
$_SESSION['user']['ip'] = $_SERVER['REMOTE_ADDR'];
            
$_SESSION['user']['host'] = gethostbyaddr($_SERVER['REMOTE_ADDR']);
        }
        

        
$this->secureSession();
    }
    
    
/**
     *   Cacheing unterbinden
     *
     */
    
function sendNoCacheHeader()
    {        
        
header("Expires: Sat, 05 Aug 2000 22:27:00 GMT");
        
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
        
header("Cache-Control: no-cache, must-revalidate");
        
header("Pragma: no-cache");
        
header("Cache-Control: post-check=0, pre-check=0");        
    }
    
    
/**
     *   Fallback via hidden field
     *
     *
     */
    
function hidden()
    {
        
$return='';
        
$return=false==$this->usesCookies false "<input  type=\"hidden\" name=\"".session_name()."\" value=\"".session_id()."\" />";
        return 
$return;
    }
    
    
/**
     * if cookie unused create querystring and fallback
     *
     * @return array GET querystring and fallback hiddenfield
     */
     
function checkCookieUsed()
     {
        
        
$return='';
        
$sep=true==$_SERVER['QUERY_STRING'] ? '&amp;' '?';
        
$SID=true==$this->usesCookies false $sep.session_name().'='.session_id();
        
$ISID=$this->hidden();
        return array(
$SID,$ISID);
     }

    
/**
     *   Secure Session if IP not valid destroy Session
     *
     *
     */

    
function secureSession()
    {
        if (
$_SESSION['user']['ip'] != $_SERVER['REMOTE_ADDR'])
        {
            
session_destroy();
            
header('location:index.php');
        }
    }
}
?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sessions und Logins Faebe PHP Tipps 2008 1 29.10.2007 09:04
Sessions, wie funktioniert das eigentlich genau? tinchen PHP Tipps 2008 7 08.10.2007 15:06
2 Sessions Kein Genie PHP Tipps 2006 8 21.07.2006 15:45
[Erledigt] probleme mit sessions PHP Tipps 2007 1 17.11.2005 10:43
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
Module im Eingenbau die 2te (SESSIONS and Security) ChewyF5 PHP-Fortgeschrittene 8 05.08.2005 11:16
Sessions! DER_Brain PHP Tipps 2005-2 5 30.06.2005 14:51
2 Sessions? PHP Tipps 2005 5 29.04.2005 19:04
[Erledigt] [PHP5 / W2k3 / IIS] Sessions funktionieren nicht PHP-Fortgeschrittene 2 02.04.2005 00:39
fenster nicht ohne sessions gelöscht zu haben schlie. lassen PHP Tipps 2005 1 14.02.2005 21:16
Proble mit Sessions PHP Tipps 2005 7 07.02.2005 17:42
Sessions werden automatisch an Links angehängt PHP-Fortgeschrittene 3 10.12.2004 13:50
Sessions auf Apache2 gehen nicht! Server, Hosting und Workstations 1 27.09.2004 17:39
[Erledigt] Usermanagement mit Sessions - Sicherheitsprobleme ? PHP Tipps 2004 0 30.06.2004 09:49
Sessions, sessions und nochmal sessions PHP-Fortgeschrittene 0 06.06.2004 00:36


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.