Autologin will nich

ich möchte ein autologin machen, das man aber regeln kann.

wenn es angemacht wird, wird ein cookie gesaved.
nach jedem seitenaufruf wird 1. getestet ob man einbgeloggt ist, und 2., ob der cookie da is.

wenn ja wird VOR session_start();, session_set_cookie_params(*zeit); ausgeführt.

das problem: es ändert den session cookie nicht, warum weiß ich nicht, ich mache vor session_start keine html ausgaben oder sowas. nur config includes

Code:

[code]<?php

if($_COOKIE[“autologin”] == “makeon”){
session_set_cookie_params(“31556926”);
setcookie(“autologin”, “”);
}

session_start();

// def definieren

define(“th-game_inside”, TRUE);

// config includen

include_once("./inc/config.php");

if($_SESSION[“logged_in”] == “1”) {

mysql_connect($conf[“sqlhost”], $conf[“sqluser”], $conf[“sqlpass”]);
mysql_select_db($conf[“sqldb”]);

$query = mysql_query(“SELECT * FROM users WHERE id = ‘$_SESSION[user_id]’”);

$erg = mysql_fetch_array($query);

if($erg[“autologin”] == “on”){
setcookie(“autologin”, “makeon”);

}

}[/code]

EDIT: wenn ich nach session_set_cookie_params ein or die() mache, stirbt er lieber, also muss da was ned gehn, ka warum…

EDIT2: wenn ich error_reporting(“E_ALL”); reinmach, kommt als meldung NUR: 6135

Wie kommst du darauf, dass “es” den Sessioncookie veraendern sollte?
Du setzt einen ganz eigenen Cookie, der hat mit dem der Session nichts zu tun.

Und ich sehe nirgends, wo du den Status auf eingeloggt aenderst, wenn der Cookie vorhanden war …?

Wenn er vorhanden war, dann loeschst du ihn erst mal …
Dann ueberpruefst du, ob der Nutzer in der Session schon eingeloggt ist (die, noch mal, nichts mit deinem Cookie zu tun hat);
dann kommt irgendeine Datenbankabfrage …

Und wenn der Nutzer noch nicht in der Session eingeloggt war - dann passiert gar nichts?
Da kann ich irgendwie keinen “Autologin” drin erkennen …

Ich meine den cookie PHPSESSID

und die abfrage ob der user eingeloggt ist, kommt doch bei if($_SESSION]“logged_in”] == “1”)

ich versteh jetz niht was du meinst.

momentan siehts ja so aus:

ein user kommt auf die seite, die sesssion (PHPSESSID) wird erstelt.

er loggt sich ein, und in der index merkt ja das if, “aha, da is wer eingeloggt, also muss ich des hier machn” so, das was das if machen soll, ist eine abfrage machen, ob dieser user das autologin aktiviert hat, wenn ja wird eben der autologin cookie mir makeon erstellt <-- geht!

weiter wird wieder oben geprüft ob der cookie da ist, wenn ja soll session_set_cookie_params(); ausgeführt, und der cookie gelöscht, werden <— geht nicht!

ich hab mal nach session_set_cookie_params() ein or die() gemacht, und wie gesagt, php stirbt lieber (^^)

error_reporting bringt iwie nix, tja und ich weiß ned mehr weiter…

EDIT: das was ich auch nicht verstehe ist die zahl 6135 bei error_reporting(“E_ALL”);