Autor Zpráva
Session Problems
Profil *
Ahojte,

mam index.php a tam mam session start ostatni stranky volam potoci index.php?page=stranka

ale nevim proc se nekdy stane ze kliknu v menu na link a mne samo odhlasi ... jako session zmizne sam od sebe...

Mozna se tu uz nekdo stymto problemom stretol ...

Diky za kazdu odpoved .
Alphard
Profil
Vedou všechny odkazy na index.php? Nemůže se stát, že se nějak dostanete na stránku bez session_start()?

Nebo by to mohl být problém s expirací. Po určité době vyprší platnost session.
JanJanuska
Profil
Môže sa stať, že prepisuješ session premennú. Taká maličkosť dokáže narobiť dobrý bordel.
Session Problems
Profil *
JanJanuska
tak ja mam v indexu tohle

<?php
session_start();
if (isset($_COOKIE[session_name()]))
{ // Würde bei trans_sid den Reloadbutton kaputt machen
    session_regenerate_id(TRUE); // SID Wechseln
}
ob_start();

require "config.php";
require "functions.php";

?>


a tohle je funkce ktera se aktulizuje po kazdy aktulizace stranky

<?php
function ulang() {

if(!empty($_SESSION['user_id'])){
$sqls=mysql_query("SELECT sprache FROM mitglieder WHERE user_id = '".$_SESSION['user_id']."'") or die (mysql_error()); 
$res = mysql_fetch_array($sqls);
$sprache_u = $res['sprache'];

$_SESSION[language] = sprache($sprache_u);

return($_SESSION[language]);

}elseif(empty($_SESSION['user_id'])){

if(!empty($_GET['language1235'])){
$_SESSION['language'] = $_GET['language1235'];
}elseif(empty($_GET['language1235']) AND empty($_SESSION['language'])){
$_SESSION[language]="de";
}
return($_SESSION[language]);
    }
}

    if (!ulang()) { $_SESSION[language]="de"; } // default german 
?>


a tu prepisuju to session a mozna to bude tym ze nemam session start ve functions.php ... ?
Alphard
Profil
Tady se přepisuje pouze $_SESSION[language].
Neškodilo by snažit se lépe diagnostikovat chyby. Např. jestli se odhlásíte vždy na stejné stránce nebo skupinách stránek, kdy se to stává (vždy když je něco specifického v url, vždy, náhodně, po delší pauze, ...), vypsat si různé proměnné (klidně tam dejte print_r($_SESSION), až vás to odhlásí, podívejte se, jestli je vymazaná session, nebo je problém jinde), ...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: