Здравствуйте! Имеется авторизация на сайте, где данные записываются в сессию. Дальше стоит проверка, если есть сессия, то вход выполнен. Данные записываются, сессия отображается, но при переходе на другую страницу все слетает. А при повторной авторизации все работает как надо. Подскажите, в чем может быть причина. Просто нужно что бы авторизация проходила с первого раза. Спасибо! index.php: PHP: <? session_start(); $mysqli = new mysqli ("...", "...", "...", "...") or die(mysqli_error()); if(isset($_POST['enrbtn'])){ if(empty($_POST['login'])){ echo '<script>alert("Поле логин не заполненно");</script>'; }elseif(empty($_POST['password'])){ echo '<script>alert("Поле пароль не заполненно");</script>'; } else{ $login=$_POST['login']; $password=$_POST['password']; $query=mysqli_query($mysqli, "SELECT `id`, `fio`, `inn`, `phone`, `email` FROM `users` WHERE `Email` = '$login' AND `Password` = '$password'"); $result = mysqli_fetch_array($query); // Формируем переменную с исполнением запроса к БД if(empty($result['id'])){ echo '<script>alert("Неверные Логин или Пароль");</script>'; }else{ $_SESSION['password'] = $password; $_SESSION['login'] = $login; $_SESSION['id'] = $result['id']; $_SESSION['fio'] = $result['fio']; $_SESSION['inn'] = $result['inn']; $_SESSION['phone'] = $result['phone']; $_SESSION['email'] = $result['email']; } } } if (isset($_SESSION['login']) && isset($_SESSION['id'])){ //Таким же образом проверяется сессия на других страницах echo '<div class="logindex2" align="center" style="display: none;"><a href="index.php?exit">Выход</a></div>';?> <script> document.getElementById('entline').innerHTML = '<div style="margin-left: 10px;" class="logindex"><?echo $_SESSION['fio'];?></div>'; $(".logindex").on("click", function() { $(".logindex2").toggle(); }); document.getElementById('reg-form').style.display = 'none'; </script> <? }
Скинь часть кода, как у тебя идет проверка сессий на других страницах? session_start(); есть на всех страницах?
Да, на всех страницах. Стоит такая же проверка, как здесь: PHP: <?php session_start(); if (isset($_SESSION['login']) && isset($_SESSION['id'])){ echo $_SESSION['fio']; ?> То есть ошибки видимо не должно быть, авторизируется все же в конечном итоге. Может с куками что то...