Problém se session

Vyřešeno1.17K zhlédnutíWebhosting
0

Dobrý den,

mám klasický login kód pro přihlášení do administrace.

if(empty($username_err) && empty($password_err)){
        $sql = "SELECT userid, username, password FROM users WHERE username = ?";
                 if($stmt = mysqli_prepare($db, $sql)){
            mysqli_stmt_bind_param($stmt, "s", $param_username);
             $param_username = $username;
                         if(mysqli_stmt_execute($stmt)){
                mysqli_stmt_store_result($stmt);
                                 if(mysqli_stmt_num_rows($stmt) == 1){                    
                    mysqli_stmt_bind_result($stmt, $userid, $username, $hashed_password);
                    if(mysqli_stmt_fetch($stmt)){
                            if(password_verify($password, $hashed_password)){
                                session_start();
                                $_SESSION["loggedin"] = true;
                                $_SESSION["userid"] = $userid;
                                $_SESSION["username"] = $username;                       
                                echo '<meta http-equiv="refresh" content="0; url=/admin/menu">';
                            } else{
                                $login_err = "Špatné jméno nebo heslo.";
                            }
                    }
                } else{
                    $login_err = "Špatné jméno nebo heslo.";
                }
            } else{
                echo "Oops! Někde se stala chyba. Zkuste to prosím později!";
            }
            mysqli_stmt_close($stmt);
        }
    }

V tuto chvíli je tam meta na přesměrování do administračního menu po úspěšném přihlášení. To všechno funguje, ale webová stránka nedrží session data. Chvilku to fungovalo po změně nastavení PHP, ale pak to přestalo z ničeho nic fungovat. Na localhostu i na jiných hostingách vše funguje, ale na Wedosu jako spoustu jiných věcí bohužel ne.

Dokážete mi, prosím, říct, kde je chyba?

Na každé další stránce, volám na začátku kódu session_start(); Na každé takové stránce je kontrola, zda se hodnota uložená po loginu v $_SESSION[„loggedin“] rovná TRUE, pokud ne, tak uživatele vrátí zpět na login page.

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
MB313456 Vybral nejlepší odpověď
0
148.89K Odpověď od WEDOS Internet, a.s. 0 Komentář

K problému se mi nepodařilo nic bližšího dohledat, jediný podobný dotaz jsem našel zde, ale řešení tohoto problému máte na hostingu už nastavené. Možná Vám ale pomohou postupy, kterými se kolegové snažili daný problém v konverzaci diagnostikovat.

Role: Podpora Web: https://kb.vedos.cz Vizitka: VEDOS Specialista na Znalostní bázi
MB313456 Odpověděl na otázku
Prohlížíte 1 ze 4 odpovědí, klikněte zde pro zobrazení všech odpovědí.