Сесси в PHP не сохраняются

Знаю, на StackOverflow полно ответов и на русском, и на английском, но сколько бы тем я не смотрел, я так и не понял, как я могу решить свою проблему. Извините.

<?php if ( ! isset($_POST['login'], $_POST['password'])): ?>
 
    <html>
        <head>
            <title id='login-title'></title>
            <link rel="icon" href="favicon.ico" type="image/x-icon">
            <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
            <link rel="stylesheet" type="text/css" href="styles\standart.css">
            <script type="text/javascript" src='sm.js'></script>
        </head>
        <body>
            <div id='body'>
                <?php include "header.html"; ?>
                <div id='content'>
                    <div class='form'>
                        <center>
                            <h2><string id='login-form-title'></string></h2>
                        </center>
                        <form action="login.php" method="post">
                            <table>
                                <tr>
                                    <td>
                                        <label><string id='name'></string>:</label>
                                    </td>
                                    <td>
                                        <input name="login" type="text" size="15" maxlength="15">
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <label><string id='password'></string>:</label>
                                    </td>
                                    <td>
                                        <input name="password" type="password" size="15" maxlength="15">
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan='2'>
                                        <center>
                                            <input id="login-button" type="submit" name="submit">
                                        </center>
                                    </td>
                                </tr>
                            </table>
                        </form>
                    </div>
                </div>
            </div>
            <?php include "footer.html"; ?>
        </body>
    </html>
 
<?php else: ?>
 
    <html>
        <head>
            <title id="index-title"></title>
            <link rel="icon" href="favicon.ico" type="image/x-icon">
            <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
            <link rel="stylesheet" type="text/css" href="styles\standart.css">
            <script type="text/javascript" src='sm.js'></script>
        </head>
        <body>
            <div id='body'>
                <?php include "title.html"; ?>
                <div id='alertcontent'>
                    <?php
                        session_start();
                        if (isset($_POST['login'])) {
                            $login = $_POST['login'];
                            if ($login == '') {
                                unset($login);
                            }
                        }
                        if (isset($_POST['password'])) {
                            $password=$_POST['password'];
                            if ($password =='') {
                                unset($password);
                            }
                        }
                        if (empty($login) or empty($password)) {
                            echo "Заполните все поля!";
                        }
                        else {
                            $login = stripslashes($login);
                            $login = htmlspecialchars($login);
                            $password = stripslashes($password);
                            $password = htmlspecialchars($password);
                            $login = trim($login);
                            $password = trim($password);
                            $db = mysqli_connect("host","user","password", "db");
                            $result = mysqli_query($db, "SELECT * FROM users WHERE login='$login'");
                            $myrow = mysqli_fetch_array($result);
                            if (empty($myrow['password'])) {
                                echo "Извините, введённый вами login или пароль неверный.";
                            }
                            else {
                                if ($myrow['password']==$password) {
                                    $_SESSION['login']=$myrow['login']; 
                                    $_SESSION['id']=$myrow['id'];
                                    echo session_id();
                                    echo "Вы успешно вошли на сайт! <a href='index.php'>Главная страница</a>";
                                }
                                else {
                                    echo "Извините, введённый вами login или пароль неверный.";
                                }
                            }
                        }
                    ?>
                </div>
            </div>
            <?php include "footer.html"; ?>
        </body>
    </html>
 
<?php endif; ?>

У меня при переходе на главную страницу не сохраняются сессии. Весь гугл облазил, ничего понятного не нашёл. session_id() не меняется. Что делать? Как исправить эту проблему? Или может что-то другое использовать вместо сессий. Помогите, пожалуйста! Заранее спасибо! Вот скриншоты информации о session: 1 2 3


Ответы (2 шт):

Автор решения: Hyppoprogramm

Извините, оказывается сессии на хостинге работают, это я криворукий программист. Но я так и непонял, почему на index.php я не могу прочесть $_SESSION. index.php "инклудит" is_logged_in.php с таким кодом:

<?php
    $loggedin = !(empty($_SESSION['login']) or empty($_SESSION['id']));
    $login = $_SESSION['login'];
    $id = $_SESSION['id'];
?>
→ Ссылка
Автор решения: Academik

Попробуйте так:

if(!empty($_SESSION['login'] && !empty($_SESSION['id'])){
  $login = $_SESSION['login'];
  $id = $_SESSION['id'];
}
→ Ссылка