php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-02-2008, 11:44
LJ80
 Newbie
Links : Onlinestatus : LJ80 ist offline
Registriert seit: Aug 2006
Beiträge: 4
LJ80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard session_destroy()

Ich habe ein problem das ich nicht gelöst bekomme, ich habe schon alles ausprobiert und das web wundgesucht.

also das problem ist:

wenn ich den button logout benutze ist alles bestens.

PHP-Code:

    session_unset
();
    
session_destroy();
    unset(
$aid$rid$out$oldtime); 

    
header("Location: ../index.php?logout=true");
    exit; 
und ich kann mich normal wieder anmelden, für den rausschmiß über eine zeitangabe funktioniert das aber nicht.
ich komme nicht mehr rein.

wenn ich denn folgenden code nehme geht´s, aber ich muß mich zweimal oder sogar dreimal wieder anmelden, weil er mir beim ersten oder zweiten mal anzeigt das die zeit abgelaufen ist.

PHP-Code:

session_start
();

      if(!
session_is_registered("rid"))
      {
        
header("Location: [url]http://www.kaninchen-schau.de[/url]");
      }
      
//timeout
      
$aktime time(); //aktuellle zeit

      // out und oldtime = session variable

      
if(($aktime $oldtime) > $out)   //wenn zeit überschritten rausschmeißen
      
{
        
// Unset all of the session variables.
        
$_SESSION = array();

        
// If it's desired to kill the session, also delete the session cookie.
        // Note: This will destroy the session, and not just the session data!
        
if(isset($_COOKIE[session_name()]))
        {
          
setcookie(session_name(), ''time()-3600'/');
        }
        
session_destroy();

        
header("Location: [url]http://www.kaninchen-schau.de/include/timeout.inc.php[/url]");

      }
      else 
//sonst neue zeit setzen
      
{
        
$oldtime $aktime;
      } 
wo liegt das problem oder was ist verkehrt.

gruß LJ80
  #2 (permalink)  
Alt 01-02-2008, 11:58
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wo werden
$aktime
$oldtime
$out
gesetzt?
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
  #3 (permalink)  
Alt 01-02-2008, 12:01
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
wo werden
$aktime
...
gesetzt?
PHP-Code:
$aktime time(); //aktuellle zeit 


Btw: session_is_registered ist veraltet, verwende isset( $_SESSION['foo'] )
  #4 (permalink)  
Alt 01-02-2008, 12:13
LJ80
 Newbie
Links : Onlinestatus : LJ80 ist offline
Registriert seit: Aug 2006
Beiträge: 4
LJ80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

$aktime wird wie im code steht mit aktueller zeit gesetzt und $oldtime und $out werden im login check script als session variablen gesetzt.

ist eure frage damit beantwortet?
  #5 (permalink)  
Alt 01-02-2008, 12:18
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Du solltest korrekt auf die Sessionwerte zugreifen, indem du das $_SESSION-Array verwendest. Dein Aufruf würde sich damit in $_SESSION['oldtime'] bzw. $_SESSION['out'] ändern.
Bei dem Login musst du natürlich nicht auf einen Timeout prüfen, da deine Sessionwerte da noch nicht gesetzt sein werden!
  #6 (permalink)  
Alt 01-02-2008, 12:26
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und du hast natürlich das error_reporting() hochgedreht und die Anzeige von PHP Fehlern aktiviert, so wie es in den Board Regeln steht...
Also kommen keine Fehlermeldungen (v.a. Notices)?
Btw: Stichwort register_globals() Dein Code scheint auf globals ON angewiesen zu sein. Ich würde dir empfehlen das Ganze auf globals OFF zu proggen
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
  #7 (permalink)  
Alt 01-02-2008, 12:29
LJ80
 Newbie
Links : Onlinestatus : LJ80 ist offline
Registriert seit: Aug 2006
Beiträge: 4
LJ80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich überprüfe im login auch nicht auf timeout das ist erst auch dem memberbereich eingebunden.

es funktioniert ja mit den variablen, ob direkt oder über $_SESSION[].

das problem ist ja das die session offensichtlich nicht richtig gelöscht werden, oder ich das ganze anders umsetzen muß, damit sich ein angemeldeter user nach dem timeout nicht zwei oder dreimal einloggen muß um wieder in den memberbereich zu kommen.
  #8 (permalink)  
Alt 01-02-2008, 14:01
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von PHP-Desaster
PHP-Code:
$aktime time(); //aktuellle zeit 


Btw: session_is_registered ist veraltet, verwende isset( $_SESSION['foo'] )
Jo schon klar, aber wo der rest?
Denn das ausloggen ist in dem gegebenen Code von diesen Variablen abhängig.
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
  #9 (permalink)  
Alt 01-02-2008, 14:10
LJ80
 Newbie
Links : Onlinestatus : LJ80 ist offline
Registriert seit: Aug 2006
Beiträge: 4
LJ80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry, aber ich verstehe nicht was du gerade willst!?

sprich deutsch mit mir, bittttttttttttte.

oder ich stehe gerade auf dem schlauch?
  #10 (permalink)  
Alt 01-02-2008, 14:23
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

$aktime = time();
if(($aktime - $oldtime) > $out) {
logout
}
so wenn jetzt in $oldtime eine kleine Zahl steckt oder nichts wirst Du ausgelogged, also frage ich mich was in den verwendeten Vars steckt, da Du das im Code nicht preisgibst
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
  #11 (permalink)  
Alt 01-02-2008, 14:51
LJ80
 Newbie
Links : Onlinestatus : LJ80 ist offline
Registriert seit: Aug 2006
Beiträge: 4
LJ80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das steht doch im code.

im elsezweig.

wenn der user innerhalb der zeit arbeitet wird die zeit neu gesetzt und der user kann normal weiterarbeiten.

ich verstehe nicht was das mit dem logout zu tun hat.


das ganze zeitüberprüfen funktioniert einwandfrei nur das logout über den timeout löscht offensichtlich nicht richtig.
  #12 (permalink)  
Alt 01-02-2008, 15:05
LJ80
 Newbie
Links : Onlinestatus : LJ80 ist offline
Registriert seit: Aug 2006
Beiträge: 4
LJ80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das steht doch im code.

im elsezweig.

wenn der user innerhalb der zeit arbeitet wird die zeit neu gesetzt und der user kann normal weiterarbeiten.

ich verstehe nicht was das mit dem logout zu tun hat.


das ganze zeitüberprüfen funktioniert einwandfrei nur das logout über den timeout löscht offensichtlich nicht richtig.
  #13 (permalink)  
Alt 01-02-2008, 15:22
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und wieso musst du deine Antwort zweimal schicken? Sag jetzt nicht, dass sein ein Fehler der Foren-SW, weil zwischen den Posts liegen 14 Minuten...
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Thema geschlossen

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:34 Uhr.