CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
09.08.2017, 18:03:17
|
Anfänger
|
|
Registriert seit: Nov 2007
Beiträge: 35
|
|
Neue Session erzeugen ohne die aktuelle zu zerstören?
Hallo,
ich habe eine Client-Anwendung die ein eigenes Protokoll auf meinem Server bedient. Jetzt soll über dieses Protokoll eine Web-Session erzeugt werden, die dann in einem Webbrowser geöffnet werden soll. Ziel ist, dass ich einen gültigen Session-identifier zurück liefere.
Das Problem ist, dass die ursprüngliche Session aus dem Protokoll nicht angefasst werden soll. Ich möchte also, im Prinzip, die Session auf eine neue wechseln, dort verschiedene Werte in $_SESSION speichern und dann zur originalen Session zurückkehren. Dann den Session-Identifier (Session-ID) aus der neuen zurückliefern, damit man diese per Webbrowser nutzen kann.
Kann ich aus einer bestehenden Session eine neue erzeugen, diese Füllen und dann zur vorigen zurückkehren? So das die neue Nutzbar bleibt?
Ich denke es läuft auf session_encode() und session_decode() raus, aber irgendwie fehlt mir der beste Ansatz. Ich würde gerne vermeiden, auf dem Laufwerk direkt lesend/schreibend auf die Session-Dateien zuzugreifen (session_save_path()).
Wie mache ich das am besten?
Danke!
|
10.08.2017, 11:29:08
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
Lies Du zum Beispiel hier.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
10.08.2017, 12:04:41
|
Anfänger
|
|
Registriert seit: Nov 2007
Beiträge: 35
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
Danke, aber das ist nicht mein Fall. Ich will nicht Variablen hin und her oder sonstiges. Ich will aus meiner bestehenden Session heraus eine zweite generieren, die ich mit Werten befüllen und dann an einen Nutzer übergeben kann. Der kann die dann im Webbrowser öffnen und nutzen.
Meine erste Session soll danach für mich weiter bestehen bleiben.
|
10.08.2017, 12:50:06
|
Junior Member
|
|
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
dann leg den Kram in einer Datenbank unter zwei Schlüsseln ab.
|
11.08.2017, 11:32:55
|
Anfänger
|
|
Registriert seit: Nov 2007
Beiträge: 35
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
Danke für den Tipp, aber ich habe die Sessions nicht in der Datenbank und ich will den Inhalt von $_SESSION haben nachdem der Nutzer einen Link im Browser aufruft den ich Ihm mitteile. Was soll ich da in die Datenbank tun?
Oder meinst Du bei jedem Aufruf in der DB gucken ob ich eine spezielle Session für den call habe um dann aus der DB die $_SESSION wieder herzustellen? Das würde aber eine Menge dauerhaften Overhead erzeugen für den eher seltenen Fall dass jemand auf diese Art kommt...
|
11.08.2017, 12:25:30
|
Junior Member
|
|
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
Wenn du die ID public machst, also an die URL anhängst, kannst du versuchen die Session mit session_id() nochmal zu starten, dann die Daten abzugrabbeln, dann mit session_abort() zu stoppen ohne zu löschen, und mit session_start() eine neue zu starten, wo du die Daten wieder reinpumpst.
|
11.08.2017, 12:41:14
|
Anfänger
|
|
Registriert seit: Nov 2007
Beiträge: 35
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
Ja, der Aufrufer kann die Session-ID in der URL mitgeben. So kann ich eine bestehende Session nutzen.
Aber das Problem, das ich hab, ist, aus einer anderen laufenden Session diese neue Nutzer-Session zu erstellen und vorab mit Daten zu befüllen. So dass der Nutzer dann später (wenige Sekunden) beim ersten Aufruf seiner URL mit Session-ID gleich eine gültige Session mit Login etc hat.
Ich wünschte sowas:
Ich speicher meine aktuelle Session-Daten aus meiner Session "A" temporär
Ich lösche alles zu meiner Session (unset($_SESSION);)
Ich erstelle eine neue Session mit neuer Session ID "B"
Diese Session fülle ich mit Daten in $_SESSION
Ich wechsle zurück zu meiner Session "A" (mit allen meinen Daten aus "A" in $_SESSION)
Ich geb als Ergebnis die Session-ID "B" in meinem Protokoll zurück
Dann soll ein Nutzer den Browser mit der Session "B" öffnen können und diese hat dann die Daten die ich oben für Session "B" hinterlegt habe.
|
11.08.2017, 13:16:35
|
Junior Member
|
|
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
Das kannst du so machen. Du musst dir nur die Daten nur in einer Variable merken, für den Zeitraum in dem du keine Session hast, und dann zwischen den Sessions springen mit session_id(), session_start(), session_abort().
|
11.08.2017, 13:54:46
|
Anfänger
|
|
Registriert seit: Nov 2007
Beiträge: 35
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
Genau hier liegt das Problem. Ich habe versucht das so zu tun, aber es wird immer die bestehende Session umbenannt. Weder session_abort, session_commit, session_regenerate_id oder sonstiges haben dazu geführt, dass ich eine neue zweite Session erhalte. Es blieb immer bei einem Session-File, das entweder umbenannt wurde oder nur den Inhalt wechselte. In keinem Fall konnte ich aus meiner Funktion eine zweite Session erzeugen :-(
|
11.08.2017, 14:21:23
|
Junior Member
|
|
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
|
|
AW: Neue Session erzeugen ohne die aktuelle zu zerstören?
Du musst dir die alte ID+Daten merken, dann eine neue Session-ID generieren, damit eine neue Session starten (session_id(123yxz); session_start()), hier die Daten reinkopieren, und dann wieder zur alten Session wechseln. Und die neue ID dann weiterleiten.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:27:43 Uhr.
|