сессия закрывается после просмотра страницы с таблицей, не относящейся к администратору

#php #mysql

#php #mysql

Вопрос:

Я работал над шаблоном сайта, и все было просто отлично, пока мой хост-провайдер не обновил сервер до php 5.4. поэтому я думаю, что моя проблема заключается где-то в php.ini, но когда я вхожу в центр администрирования сайта, все в порядке. У меня есть четыре страницы, с которыми сеансы работают нормально, и одна страница, которая извлекает продукты для просмотра и редактирования. Я могу переключаться между обычными страницами в центре администрирования в течение всего дня, но когда я нажимаю на ссылку (просмотр / редактирование), она показывает продукт, но когда я нажимаю на любую другую ссылку после этого, она завершает сеанс.

за пределами php.ini единственное другое место, о котором я мог подумать, может быть проблемой, находится в моем login_session.php это я включаю на каждую страницу в admin. Вот эта страница:

     <?php 

    session_start();

    if(!isset($_SESSION["manager"])){

    header("location:admin_login.php");

    exit();

    } 

    //BE SURE that this manager SESSION value is in fact in the database

    $managerID = preg_replace('#[^0-9]#i',"",$_SESSION["id"]);//filter everything but       numbers and letters

    $manager = preg_replace('#[^A-Za-z0-9]#i',"",$_SESSION["manager"]);//filter   everything but numbers and letters

    $password = preg_replace('#[^A-Za-z0-9]#i',"",$_SESSION["password"]);//filter   everything but numbers and letters

    //Run mySQL query to be sure that this person is an admin and that their password   session var equals the database information

    //connect to the mysql database

    include"../storescripts/connect.php";

    $sql = mysqli_query($myConnection,"SELECT * FROM admin WHERE id='$managerID' AND   username='$manager' AND password='$password' LIMIT 1");

     //query the person

    //--------MAKE SURE PERSON EXISTS IN DATABASE-------

    $existCount = mysqli_num_rows($sql); //count the row nums

    if($existCount == 0){ //evaluate the count

     echo "Your login session data is not on record in the database. <a   href="logout.php"><strong>BACK TO LOGIN</strong></a>";

    exit();

    }
    ?>
  

Комментарии:

1. Я никогда раньше не видел такой документации

Ответ №1:

Теперь она работает. На самом деле это была проблема с обновлением php.ini. Я связался со своим хост-провайдером и сообщил им о проблеме, и он обновил часть php.ini, но он был очень расплывчатым в отношении того, какую часть он обновил.