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 für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
21.12.2005, 12:04:10
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Session-Variable wird nicht übernommen
Zitat:
Zitat von Zudecke
... Aber irgendwo da draususen gibt es einen PC, auf dem es nicht funktioniert. In Der DB werden die Session-Daten von diesem Rechner nicht gespeichert. Bei alles anderen PC's funktioniert es aber bisher. An was könnte das noch liegen? Bitte Hilfe, Danke.
|
Bei der dünnen Informationslage bin ich überfragt.
Zitat:
Wie darf ich eigentlich diesen Code verstehen?
[PHP]# unnötiges Script entfernt.
|
Die Weitergabe der Session_id ist immer dann erforderlich, wenn der Client keinen Sessioncookie haben wollte. Das kann man (mein Ding ist es nicht) automatisieren, in dem man session.use_trans_sid auf 1 setzt. Hier gibt es aber folgenden Sonderfall:
PHP ersetzt brav im Content alle lokalen Links, aber nicht im Header.
Zitat:
Wird session_name() und session_id() angefügt, wenn SID und session.use_trans_sid leer bzw. 0 sind und ansonsten wird SID angefügt, oder ist das nur eine Überprüfung von SID und wird diese gar nicht angefügt, wenn sie nicht leer ist? Sorry, aber diese Schreibweise ist mir nicht so vertraut.
|
SID ist leer, wenn der Client den Session Keks haben wollte oder wenn session.use_trans_sid = 1 ist.
Falsch. Siehe EDIT.
Demzufolge wäre
header('Location: http://host/script.php?' . SID);
nicht falsch, wie irrtümlich behauptet hatte, sondern richtig.
wenn Cookiebetrieb vorliegt. Liegt dagegen der 'Automatismus' vor, ist SID leer und muß deshalb manuell angehängt werden. <- streichen
btw: Provider lieben diese Option nicht und als Programmierer hat man einige Fallstricke (ua. auch Links in JavaScript, img usw.) zu beachten.
Geändert von meikel (†) (21.12.2005 um 14:03:05 Uhr)
|
21.12.2005, 12:20:24
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Session-Variable wird nicht übernommen
Zitat:
Zitat von Zudecke
mit
echo ini_get("session.use_trans_sid");
gibt er mir "0", mit
ini_set('session.use_trans_sid', true);
sollte er eine "1" draus machen, oder?
|
Nein. Diese Einstellung muß vor dem Start des Scriptes erfolgen
Zitat:
Wie müsste das ganze in .htaccess aussehen?
|
php_flag session.use_trans_sid 1
Das funktioniert allerdings nur dann, wenn der Apache konfiguriert wurde, daß im htaccess php_* Anweisungen stehen dürfen. Sonst gibts Servererror 500.
|
21.12.2005, 12:59:46
|
Junior Member
|
|
Registriert seit: Jun 2004
Ort: Weiden i.d.Opf.
Alter: 46
Beiträge: 315
|
|
AW: Session-Variable wird nicht übernommen
Zitat:
Bei der dünnen Informationslage bin ich überfragt.
|
Ich kann leider nicht mehr Infos bringen, dachte nur, dass es noch andere Fehlerquellen geben könnte, die vielleicht bekannt sind...
Zitat:
SID ist leer, wenn der Client den Session Keks haben wollte oder wenn session.use_trans_sid = 1 ist.
Demzufolge wäre
header('Location: http://host/script.php?' . SID);
falsch, wenn Cookiebetrieb vorliegt. Liegt dagegen der 'Automatismus' vor, ist SID leer und muß deshalb manuell angehängt werden.
|
Wie wärs, wenn man es gleich so macht?
header('Location: http://host/script.php?' .session_name().'='.session_id());
Spart man sich doch die mühseligen Überprüfungen, oder?
Ich mein, irgendeinen Grund muss es doch haben, dass dieser eine ominöse PC die session nicht verarbeitet. Jedenfalls wenn ich session.use_trans_sid auf 0 setze (ich darf das) und die Cookies sperre, geht gar nichts.
Kann es nicht sein, dass SID aus was weiß ich für nen Grund leer bleibt?
Ich führ hier zwar grad Selbstgespräche, aber das Problem hat sich erledigt.
Geändert von Zudecke (21.12.2005 um 15:35:29 Uhr)
|
21.12.2005, 13:13:13
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Session-Variable wird nicht übernommen
Zitat:
Zitat von meikel
SID ist leer, wenn der Client den Session Keks haben wollte oder wenn session.use_trans_sid = 1 ist.
|
Nicht ganz, SID kann ist nicht leer wenn session.use_trans_sid aktiviert ist, der Benutzer den Cookie aber nicht akzeptiert hat:
Zitat:
lternatively, you can use the constant SID which is defined if the session started. If the client did not send an appropriate session cookie, it has the form session_name=session_id. Otherwise, it expands to an empty string.
|
http://de2.php.net/manual/en/ref.ses...sion.idpassing
Zitat:
Zitat von meikel
Demzufolge wäre
header('Location: http://host/script.php?' . SID);
falsch, wenn Cookiebetrieb vorliegt. Liegt dagegen der 'Automatismus' vor, ist SID leer und muß deshalb manuell angehängt werden.
|
s.o.
|
21.12.2005, 13:58:55
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Session-Variable wird nicht übernommen
Zitat:
Zitat von meikel
SID ist leer, wenn der Client den Session Keks haben wollte oder wenn session.use_trans_sid = 1 ist.
|
EDIT:
getestet und für falsch befunden.
http://test.php-help.info/session.use_trans_sid-1/
Sorry für diese falsche Aussage.
|
21.12.2005, 14:09:18
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Session-Variable wird nicht übernommen
Zitat:
Zitat von xabbuh
Nicht ganz, SID ist nicht leer wenn session.use_trans_sid aktiviert ist, der Benutzer den Cookie aber nicht akzeptiert hat:
|
Stimmt, obwohl es unlogisch ist. Danke für die Info.
Unlogisch, weil man dann sowas nur dann schreiben kann, wenn die Option ausgeschaltet ist, weil sonst der Inhalt von SID 2* drangeklebt wird
PHP-Code:
printf('<p><a href="%s?%s">Doppelte Session_id?</a></p>', $_SERVER['SCRIPT_NAME'], SID);
Ergibt im 'kekslosen' Betrieb (session.use_trans_sid = 1):
Code:
http://test.php-help.info/session.use_trans_sid-1/index.php?
PHPSESSID=55cf8a2d3cc5b2322881dccab2844167
&PHPSESSID=55cf8a2d3cc5b2322881dccab2844167
Geändert von meikel (†) (21.12.2005 um 14:09:48 Uhr)
|
21.12.2005, 15:28:44
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Session-Variable wird nicht übernommen
Zitat:
Zitat von meikel
Stimmt, obwohl es unlogisch ist. Danke für die Info.
|
Naja, entweder hat man halt dann GET-Parameter redundant oder sorgt für Verwirrung weil session.use_trans_sid nicht wie erwartet funktioniert.
Geändert von xabbuh (21.12.2005 um 15:29:19 Uhr)
|
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 17:25:02 Uhr.
|