power-box.de
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 08.03.2002, 23:38   #1
TP-Member
 
Registriert seit: Mar 2002
Ort: berlin
kaahceeh macht alles soweit korrekt

PHP session abfrage


Hallo
Ich habe mal wieder eine Frage zu PHP Sessions. Ich habe folgendes Problem. Ich habe eine Seite auf der eine Session gestartet wird und auf den folgeden Seiten soll diese session mit Ihren Variablen die sie beinhaltet wieder abgefragt werden.
Problem auf allen Seiten sind auch links zu einer ( start bzw. index seite), wo keine session mehr benötigt werden. Problem wenn eine Session gestartet ist, und auf diese Seite ( start oder index )gesprungen wird ( durch den link auf allen seiten )ist die session immernoch aktiv und ich kann Sie nicht löschen.

Ich denke es gibt drei mögliche Lösungen, wo ich bei keiner weiss wie ich es umsetzen soll.

1. Auf den Button der den Link auf die ( index oder start seite enthält) den befehl sesion_destroy(); zu legen. Problem hierbei, man kann immernoch den Back Button des Browsers benutzen, den kann man glaube ich nicht mit einem Befehl belegen.

2. Man kann auf der Seite eine Abfrage in PHP schreiben, wo geprüft wird ob noch eine session aktiv ist, wenn ja wird Sie beendet, wenn nicht dann passiert garnichts. Ich denke diese Methode wäre am besten.

3. Man kann auf dem Server wo PHP und der Apache läuft sagen, wie Lnage ein session cookie maximal aktiv bleiben soll. Ich benutze wie gesagt apache mit php4. meine session cookies werden in c:\php4\tmp abgelegt und bleiben dort auch so bis ich sie per hand lösche oder per session_destroy();. Ich habe gelesen , dass man in der PHP.ini auch eine Einstellung tätigen kann, nach welcher Zeit ein session cookie gelöscht werden soll, klappt aber bei mir nicht. Warum keine Ahnung!

Also wenn jemand eine Lösung für mich hat, wäre ich sehr dankbar, wobei mir Lösung 2 und 1 am Besten gefallen, wäre aber nett wenn mir auch jemand schreiben könnte wie ich Lösung 2 realisiere.

Also vielen Dank im Voraus an euch Alle

Christian
kaahceeh ist offline   Mit Zitat antworten


Alt 09.03.2002, 01:54   #2
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Du kannst auf den Seiten, bei denen die Session sinnlos ist pauschal folgendes an einsetzen:

PHP-Code:
   session_unset();
   
session_destroy(); 
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 09.03.2002, 12:50   #3
TP-Member
 
Registriert seit: Mar 2002
Ort: berlin
kaahceeh macht alles soweit korrekt

geht leider so nicht


Hallo nochmal,
danke für deine schnelle Antwort, abe ich glaube nicht, dass es so einfach geht. Problem an deiner Lösung ist, das du davon ausgehst, das immer eine session geööfnet ist, wenn man auf die index.php oder index.html zurück geht. Dann würde mit dem session_destroy(); auch alles klar gehen. Was mache ich aber, wenn man auch auf die index.php kommen kann, obwohl keine session am laufen ist, dann bekomme ich ein Fehlermeldung., das er keine session zerstören konnte, weil ja logischer weise auch keine aktiv war!

Es muss doch eine möglichkeit geben, eine session abfragen zu können. Mal als dummes und falsches beispiel:
if (session_is_active) {
session_destroy
}else{
}
oder das else weglassen, aber so einen Befehl habe ich bis jetzt noch nicht gefunden!

Vielen Dank

Christian
kaahceeh ist offline   Mit Zitat antworten
Alt 09.03.2002, 19:45   #4
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Verstehe. Dann vielleicht so:

PHP-Code:
if(isset($HTTP_SESSION_VARS))
   
session_unset();
   
session_destroy();

__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 10.03.2002, 10:32   #5
TP-Member
 
Registriert seit: Mar 2002
Ort: berlin
kaahceeh macht alles soweit korrekt

cool danke


Ich denke das ist die abfrage, ob eine session läuft oder nicht. cool danke!!!

Wozu ist denn das "isset" , ich meine wofür steht das ??

Wozu ist denn " $HTTP_SESSION_VARS ", ich denke mal das es der Befehl ist, um zu checken ob eine session aktiv ist. bedeutet das HTTP_....., das es nur bei session_cookies geht, die an der URL angehängt sind ?

Aufjedenfall danke ......

Ich teste gleich mal!
kaahceeh ist offline   Mit Zitat antworten
Alt 10.03.2002, 12:44   #6
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
$HTTP_SESSION_VARS ist eine Konstante (deswegen die Großschreibung) in der alle in einer Session registrierten Variablen als Array vorliegen (z.B. $HTTP_SESSION_VARS['xyz']). Und da diese Konstante nur existent ist, wenn tatsächlich eine Session gestartet wurde, kannst Du damit prima eine solche Überprüfung durchführen.

Mit isset() kannst Du überprüfen, ob eine Variable zur Laufzeit des Scripts exitiert.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 15.03.2002, 12:14   #7
TP-Member
 
Registriert seit: Mar 2002
Ort: berlin
kaahceeh macht alles soweit korrekt

Button session_destroy()


Hallo,
kann ich auch mit druck auf einen Button eine session zerstören?
Also ich habe eine schrift " zurück ", wenn man darauf drückt, dann sollte sich die session zerstören .!!

Danke
kaahceeh ist offline   Mit Zitat antworten
Alt 15.03.2002, 12:30   #8
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Hmm... falls möglich solltest Du wie folgt vorgehen:

Baue Deinen "Zurück"-Link so um:

PHP-Code:
<a href="logout.php?back=<?php print("$HTTP_REFERER"); ?>>Zur&uuml;ck</a>">
Erstelle dann eine Datei namens logout.php (der Name ist irrelevant) mit folgendem Inhalt:

PHP-Code:
<?php

if(isset($HTTP_SESSION_VARS))
   
session_unset();
   
session_destroy();
}
header("Location($back)");

?>
Wenn Du jetzt auf den Link klickst, wird zuerst die Logout-Datei geöffnet, die Sesion zerstört und dann zur eigentlichen vorhergehenden Seite gesprungen. Das sollte eigentlich so schnell gehen, dass es keiner merkt.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 15.03.2002, 17:02   #9
TP-Member
 
Registriert seit: Mar 2002
Ort: berlin
kaahceeh macht alles soweit korrekt

Alles Cool


Also wenn ich dich richtig verstehe, dann habe ich folgende dateistruktur.

Als Beispiel:

eins.php ( enthält den " Zurück Button " )
zwei.php ( enthält den "code" um die session zu zerstören )

Drücke ich auf den zurück button, dann lande ich am ende wieder auf " eins.php " richtig ?? denke schon. Ich will aber nicht auf der selben seite wieder landen, sondern ich stelle mir das so vor.

eins.php ( zurück button )
zwei.php ( session_destroy() befehl )
drei.php ( hier soll man dann landen, wenn man auf zurück gedrückt hat ).

Das habe ich versucht hinzubekommen, aber mit der Abrage, die du mir vorher schon mal geschrieben hattest ging es irgendwie leider nicht!

Kannst du mir vielleicht für dieses Beispiel noch mal ein quellcode example geben. Danke

P.S.: hast du eine ICQ nummer oder messenger oder etc . ??
kaahceeh ist offline   Mit Zitat antworten
Alt 15.03.2002, 18:08   #10
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Das heisst, der Benutzer soll immer auf einer bestimmten Seite landen, nachdem die Session zerstört wurde? Dann musst Du obiges Beispiel so ummbauen

PHP-Code:
...

header("Location: drei.php"); 
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 16.03.2002, 00:23   #11
TP-Member
 
Registriert seit: Mar 2002
Ort: berlin
kaahceeh macht alles soweit korrekt

alles klar


danke...

was war mit der icq nummer oder etc.??
kaahceeh ist offline   Mit Zitat antworten
Alt 16.03.2002, 01:59   #12
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Ooops, habe ich ganz vergessen... Du erreichst mich per MSN unter schmobi@hotmail.com!
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
PHP session abfrage PHP session abfrage
« Will PHP lernen ! | SQL-Query für Volltextsuche »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


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

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67