"We are back" « oc.at

Probleme mit Sessions in PHP *dringend*

HOK 20.02.2003 - 10:32 569 6
Posts

HOK

Addicted
Registered: Sep 2000
Location: 8045/8850
Posts: 580
Grias eink!

Will einen Login machen. Habe aber das Problem, dass keine Cookies Client-seitig verwendet werden dürfen.

Habe folgendes Problem in PHP:

Gib euch zuerst einmal den Quelltext:

1. Auf dieser Seite werden die Variablen nun registriert!

//session_start();
//
//html text
//
//zuweisung der Variablen
//
//session_register ( "variable");
//header ("Location: admin.php?PHPSESSID=".session_id()."");



2. Auf der nächsten Seite >>> admin.php :

//session_start();
//
//html text
// Aufruf der Session varibale wass aber nicht angezeigt wird.

Komme auf den Fehler nicht drauf???? warum diese nicht angezeigt wird.

Session wird gespeichert (passt alles)
Wenn ich die Session id aufrufe wird diese auch richtig ausgegeben. Ebenso der session path

Könnt ihr mir weiterhelfen?

Greetz
HOK

HOK

Addicted
Registered: Sep 2000
Location: 8045/8850
Posts: 580
Hier die Daten von PHPInfo() für die Sessions.

Folgende Software wird benutzt:

BS = W2K
MySql 3.23
IIS 5
PHP 4.3.0

Greetz
HOK
session_24407.jpg (downloaded 20x)

HOK

Addicted
Registered: Sep 2000
Location: 8045/8850
Posts: 580
Hat sich schon gelöst!

Die regiestrierung der globalen Variabelen in der php ini waren auf OFF gesetzt am Server!

Greetz
HOK

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
jo und warum programmierst du nicht so das du mit register_globals=off auch klar kommst?

imho sind alle Scripts die nur mit register_globals=on funzen reiner mist .. sorry

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
@vossi: ansichtssache, dass sie aber eine sicherheitslücke darstellen, wenn man nicht wirklich sehr vorsichtig progged is fakt

@HOK:
//session_start();
//
//html text
//
//zuweisung der Variablen
//
//session_register ( "variable");
//header ("Location: admin.php?PHPSESSID=".session_id()."");
das kann auf dauer nicht gutgehen, es dürfte jetzt aufgrund von output-buffering funktionieren, aber das geht nur bis zu einer bestimmten länge - normal sollte man alle header - informationen vor ausgaben machen
ausserdem is es möglich die session-id per cookie zu speichern (siehe php.ini->sessions; is standardmäßig ein!), was du auch ernsthaft in betracht ziehen solltest, dann kannst des header-zeug auf jeden fall weglassen ;)

HOK

Addicted
Registered: Sep 2000
Location: 8045/8850
Posts: 580
@watchout

Kannst du mich vielleicht genauer über dies aufklären betreff >> output-buffering und header information.

Darf keine Cookies setzen (zumindest Clientseitig soviel ich weiss). Ist vorgegeben. Leider sons würds eh leichter gehn ;-).

Thx
HOK
Bearbeitet von HOK am 20.02.2003, 20:20

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also....

headers werden vor dem content gesendet, sonst wärens ja keine headers, dass heisst aber auch dass du nachdem schon mal content gesendet wurde keine headers mehr senden kannst.
wenn jetzt output-buffering aktiv ist, werden die daten nicht gleich geschickt, dadurch kannst du dann obwohl die headers nach einer ausgabe im php-script kommen diese trotzdem senden, näheres bitte dem manual zu entnehmen ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz