Přenášení hodnot v SESSIONs

Ahoj,
mám takový hloupý dotaz, normálně přenáším ID uživatele v SESSION['IDUzivatele'], ale v kazdem scriptu, který includuju jeste kontroluju, jestli je SESSION['IDUzivatele'] platna ( if (!isset($_SESSION['IDUzivatele'])) { Header("Location: logout.php"); }), pokud ne, tak presmeruj na logout.php (ten zrusi session (session_destroy()) a zase kickne na stranku login.php.
Problem, ale je, ze ID se mi v SESSIONs neprenaseji, takze to pokazde kope na login.php.
Kde je chyba? Mám vše standartně nastavene.
A mas tam pokazde session_start() ? :-D
tak hloupou reakci jsem opravdu nečekal...
Seb: "tak hloupou reakci jsem opravdu nečekal..."
Na hloupý dotaz hloupá odpověď - to neznáš? ;)

K tématu: byl by kód? V tom tvém popisu není dostatek relevantních informací...
Ok, tak sry, omlouvam se, ale uz jsem zvykly ze tady pravidelne pisoulidi, kteri maji problemy presne s tim, ze prehlednou takovou blbost :)) (a peclove jsem to uz predtim v tvem dotazu hledal, jestli to tam neni xD )...

ale k tematu :) :
session se standartně předává pomocí cookies (ale pokud jsou zakázány,tak se musí předat přes url, což do každého odkazu potom musís napsat(nechat vypsat xD) ...

// bez zdrojaku se blbe radi, tak sorry kdyztak za zbytecnou poznamku xD
Uno, Index.php:

include("opendb.php");
if (!empty($_POST['Login']) and !empty($_POST['Heslo'])) {
// jsou vyplneny policka ve formulari
if (strlen($_POST['Login'])<32 and strlen($_POST['Heslo'])<32) {
// delka Loginu a Hesla neni vetsi nez 32
$_POST['Heslo'] = md5($_POST['Heslo']);
$dotaz = mysql_query("SELECT IDHrace, Typ_uctu, Povoleny FROM Hraci WHERE Login LIKE '".$_POST['Login']."' AND Heslo LIKE '".$_POST['Heslo']."'") or die(mysql_error());
if (mysql_num_rows($dotaz) != 0) {
// záznam je v DB
$pristup = MySQL_Fetch_Array($dotaz);
// if ($pristup['Povoleny']==0) { echo "Účet nebyl povolen, nebo je blokován."; }
$_SESSION['IDHrace'] = $pristup['IDHrace'];
$idhrace = $pristup['IDHrace'];
$dotaz = mysql_query("SELECT UNIX_TIMESTAMP(Start) AS Start, UNIX_TIMESTAMP(Konec) AS Konec FROM System");
$system = mysql_fetch_array($dotaz);
if ($system['Start']<time(now) and time(now)<$system['Konec'] or $pristup['Typ_Uctu']==1 or $pristup['Typ_uctu']==2 or $pristup['Typ_uctu']==3) {
// Hra právě probíhá
// Nebo neprobíhá, ale je přístupná pouze pro 'Testery'=3, 'Vyvojáře'=2 nebo 'Administratora'=1
$idpostavy = mysql_query("SELECT IDPostavy FROM Postavy WHERE (IDHrace LIKE '".$idhrace."')") or die(mysql_error());
if ($idpostavy) {
if (mysql_num_rows($idpostavy)!=0) {
$pristup = mysql_fetch_array($idpostavy);
$_SESSION['IDPostavy'] = $pristup['IDPostavy'];
Header("Location: http://../index.php");
} else {
Header("Location: http://../create.php");
}
} else {
echo "Chyba při vykonávání dotazu na DB.\nCislo chyby: ".mysql_errno()."\n<br />";
}
} else {
echo "<h1>Hra ještě nebyla spuštěna.</h1>";
}
} else {
echo "Bohužel, nenalezli jsme Vás v databázi, chcete se registrovat?";
}
} else {
echo "Délka řetězců je příliš dlouhá";
}
} else {
echo "IDHrace: ".$_SESSION['IDHrace']."\n<br />";
echo "IDPostavy: ".$_SESSION['IDPostavy']."\n<br />";

Pak index.php
session_start();
if (!isset($_SESSION['IDHrace'])) {
Header("Location: http://heroonline.mysteria.cz/php2/logout.php");
} else {
include("opendb.php");
$dotaz = mysql_query("SELECT Nadpis_okna FROM System");
$system = mysql_fetch_array($dotaz);
}

tvorba.php :
$zobrazim = true;
if (IsSet($_SESSION['IDHrace'])) {
... blok
} else {
Header("Location: http://heroonline.mysteria.cz/php2/logout.php");
}

a logout.php
<?php
session_start();
// session_destroy();
Header("Location: http://heroonline.mysteria.cz/php2/login.php");
?>
// session_destroy() je vypnuty, kvuli kontrole, co se v Sessions predava, jinak je samozrejme pouzivany...

Fakt už nevim cim by to mohlo byt...
nejsem odborník, ale fce session_start() MUSÍ být na ZAČÁTKU scriptu

navíc v tom prvnim (Index.php) není vůbec session_start

http://www.linuxsoft.cz/article.php?id_article=440 - článek o sessions

cituji: "Abyste mohli začít pracovat v session, musíte to PHP oznámit pomocí příkazu session_start (). Typický skript využívající session vypadá tedy následovně:

<?
session_start();
session_register("promenna");
$_SESSION["promenna"]="hodnota";
// ... atd...
?>

Korektura: Sessions se od verze PHP 4.1.0 dají spouštět automaticky a volání příkazu session_start tak není nutné."

takže sem ti vůbec neporadil :D

ale v mauálu: http://cz.php.net/manual/en/ref.session.php používaj všude sessions_start() tak sem jelen
Jo, pohoda, už jsem to vyřešil...
Samozřejmě, že sessions_start() na začátku mám, ale nebudu sem psát cele skripty, ne?
A co se týká automatického doplnění sessions_start to se nastavuje v nastavení php interpretu pod položkou tuším že "session_autostart"...
Ale jinak díky za ochotu a sorry Freeze, že sem byl na tebe hnusnej, tekly mi už včera nervy...
Seb: a co takhle se o řešení podělit? Třeba se najde někdo, kdo to bude v budoucnu potřebovat?!
třeba já :-) ete sem slyešel, že když někdo má vyplé cookies, tak se má session předávat v url jako index.php?<?php echo SID ?> což vůbec nechápu. bylo to na interval.cz článek o session pro zajímavost :-)