Der obere Code ist nur die Login Datei. Diese wird als erstes aufgerufen. Danach im internen bereich wird checkuser.php als erstes aufgerufen...
Hi,
session_set_cookie_params(0, '/', '.domain.com');
session_start ();
//abfrage ob benutzername und passwort stimmen
$_SESSION["user_id"] = mysql_result($res, 0, "ID");
$_SESSION["user_username"] = mysql_result($res, 0, "username");
$_SESSION["user_nachname"] = mysql_result($res, 0, "nachname");
$_SESSION["user_vorname"] = mysql_result($res, 0, "vorname");
// Weiterleitung zum internen bereich
>
> > Bei jedem seitenaufruf wird dann checkuser.php eingebunden. diese sieht so aus:
> > ~~~php
> > session_start ();
> > if (!isset ($_SESSION["user_id"]))
> > [...]
Die Einbindung der checkuser.php wird wohl vor dem oberen Code geschehen, nehme ich an?
Also kommt das in checkuser.php stehende session_start() bereits, bevor du überhaupt die Cookie-Parameter setzt, wofür es sich im Nachhinein natürlich nicht mehr interessiert. Der Cookie wird also mit den Defaultparametern gesetzt.
Das nachfolgende session_start im oberen Code setzt dann natürlich keinen Cookie mehr, denn die Session wurde ja bereits gestartet. Dafür dürfte es eine Warnmeldung produzieren, wenn du das error_reporting vernünftig eingestellt hättest - also mach das bitte!
was kann man da machen?
Sich mal über die Reihenfolge der Ausführung des zusammengeschusterten Codes, und deren Auswirkung klar werden.
MfG ChrisB