[GastForen Programmierung/Entwicklung PHP und MySQL Session variablen funktionieren nicht richtig

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Session variablen funktionieren nicht richtig

diana wagner
Beiträge gesamt: 4

15. Jun 2003, 10:48
Beitrag # 1 von 3
Bewertung:
(517 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo ihr,
ich habe ein problem mit sessions.

folgendes skript funktioniert nicht:

session_start();
if (!session_is_registered("auftrag_nr"))
{
.. Abfrage auf DB ausführen; letzte auftrag_nr rausfinden;
session_register("auftrag_nr");
zähle auftrag_nr eins hoch;
insert in DB mit nächster auftrag_nr;
...

}
else
{
$auftrag_nr = $_SESSION["auftrag_nr"];
update der position in DB mit "alter" auftrag_nr;
...
}

Beim ersten Aufruf ist noch alles ok. Beim zweiten Aufruf müßte allerdings die bereits existierende Sessionid erkannt werden und in den else-Zweig gesprungen werden.
Das ist leider nicht so, bei jedem aufruf wird immer eine neue sessionid angelegt.

Wenn ich allerdings das folgende skript zuerst aufrufe, dann klappt mein oberes skript, so wie es sein müßte:

if (!session_is_registered("count"))
{
session_register("count");
session_register("start");

$_SESSION["count"] = 0;
$_SESSION["start"] = time();
}
else
{
$_SESSION["count"]++;
}

$sessionId = session_id();
-------------------------------------------------
und danach wird die aktuelle session wieder zerstört mit......
<?php
// Only attempt to end the session if there
// is a $_COOKIE["PHPSESSID"] set by the request.
if($_COOKIE["PHPSESSID"])
{
$message = "<p>End of session {$_COOKIE["PHPSESSID"]}";
session_start();
session_destroy();
} else
{
$message = "<p>There was no session to destroy!";
}
?>

Kann mir das jemand erklären?
Wie kriege ich mein skript zum laufen ohne dass ich erst eine dummy-session aufbaue und dann wieder zerstöre??

Gruß
Diana





X

Session variablen funktionieren nicht richtig

hmaus
Beiträge gesamt: 692

19. Jun 2003, 13:52
Beitrag # 2 von 3
Beitrag ID: #40195
Bewertung:
(517 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Diana,

hast Du mal in der aktuelle PHP-Doku den Abschnitt mit den Sessions gelesen?

Dort steht u.a., dass wenn Du $_SESSION als Super-Globale verwendest zum Beispuel die Existenz mit isset() prüfen solltest.

Wie es scheint ist Du den Umbruch bei der Verwendung von globalen variablen in PHP einiges im Argen. Vermutlich darf man "alte" und neue Funktionen nicht mischen.

Viel Glück,

Helge

--
Web- & Multimedia-Development * ADOBE Software Training
http://www.iPartner.de


als Antwort auf: [#39547]

Session variablen funktionieren nicht richtig

Anonym
Beiträge gesamt: 22827

21. Jul 2003, 22:03
Beitrag # 3 von 3
Beitrag ID: #44545
Bewertung:
(517 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,

vielleicht hilft ja ein blick auf die von dir eingesetzte php-version.

genau das problemchen hatte ich auch. bei php 4.0.6 ist die implementierung der session-variable noch fehlerhaft. mit php 4.2.2 hatte ich keine probleme mehr.

wann die session-variablen das erste mal wirklich funktionierten, kann ich dir nicht sagen. irgendwann zwischen 4.0.6 und 4.2.2 gings dann halt.

vielleicht hat das noch geholfen. wenn nicht dir, dann vielleicht einem anderen.

jonas


als Antwort auf: [#39547]