pavel8897
Новичок
Здравствуйте! Имеется авторизация на сайте, где данные записываются в сессию. Дальше стоит проверка, если есть сессия, то вход выполнен. Данные записываются, сессия отображается, но при переходе на другую страницу все слетает. А при повторной авторизации все работает как надо. Подскажите, в чем может быть причина. Просто нужно что бы авторизация проходила с первого раза. Спасибо!
- <?
- 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>
- <?
- }