Текущая PHP SESSION заменяется после входа в другую учетную запись с использованием другого компьютера - PullRequest
0 голосов
/ 05 декабря 2018

Пожалуйста, будьте добры ко мне, я новичок здесь.

Я уже сначала поискал, прежде чем спрашивать, но я обнаружил, что PHP-СЕССИЯ уникальна для каждого ПК / единицы.

Кстати.Я занимаюсь разработкой веб-сайта с использованием HTML, CSS, PHP, Javascript, jQuery, MS SQL SERVER и XAMPP (PHP 7.2).

МОЯ ПРОБЛЕМА / СЦЕНАРИЙ

Iу меня есть два ПК, и я тестирую, чтобы войти в систему двух разных пользователей на двух разных компьютерах.Сначала я вхожу в ПК1, затем я вхожу в ПК2.После входа в ПК2 с использованием другой учетной записи я попытался обновить страницу ПК1, а затем при обновлении СЕССИЯ была заменена.Как я узнал?Я пробовал этот код:

<code>echo '<pre>' . print_r($_SESSION, TRUE) . '
';

и результат заменяется вторым вошедшим в систему.

Для получения дополнительной информации это мои примеры кодов для моего образца логина:

index.php

<!DOCTYPE html>
<html lang="en">

<head>
  <title>TEST WEB APP</title>
</head>

<body>

  <div>LOGIN</div>

  <br>

  <input id="usid" name="username" type="text" placeholder="Username">

  <button id="signin" name="signin" type="button">SIGN IN</button>

  <script src="jquery.min.js"></script>

  <script src="sign-in.js"></script>

</body>

</html>

login.js

$("button#signin").click(function(){ 

    if($("#usid").val() == ""){

        alert("Fill all the required fields!")

    }else{
        var usid = $("#usid").val()
        $.post("sign-in.php",{usid:usid},function(data){ 

            if (data == 1) {
                window.location.assign("db-customer.php");
            }
            else if (data == 2){
                window.location.assign("db-sales.php");
            }
            else if (data == 3){
                window.location.assign("db-after-sales.php");
            }
            else if (data == 4){
                window.location.assign("db-manager.php");
            }
            else if (data == 5){
                window.location.assign("db-admin.php");
            }
            else{
                alert("Account does not exist!");
            }

        });
    }

});

sign.php

<?php

    session_start();

    $conn = "";
    $serverName = "SAMPLE\MSSQLSERVER01"; 
    $connectionInfo = array( "DATABASE"=>"SAMPLE_DB");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);

    if(isset($_POST['usid'])){

        $usid = $_POST['usid'];

        $qryCHECK = "EXEC SP_CHECK_USERS @usid = '".$usid."'";

        $rsltCHECK = sqlsrv_query($conn,$qryCHECK);

        $fetchCHECK = sqlsrv_fetch_array($rsltCHECK,SQLSRV_FETCH_ASSOC);

        $roco = $fetchCHECK['roco'];

        if($roco > 0){

            $qryGET = "EXEC SP_GET_USERS @usid = '".$usid."'";

            $rsltGET = sqlsrv_query($conn, $qryGET);

            $fetchGET = sqlsrv_fetch_array($rsltGET);

            echo $fetchGET['usty'];

            $_SESSION['usid'] = $fetchGET['usid'];
            $_SESSION['usna'] = $fetchGET['usna'];
            $_SESSION['usem'] = $fetchGET['usem'];
            $_SESSION['usty'] = $fetchGET['usty'];

        }
        else{

            echo "Account does not exist!";

        }

    }
    else{
        echo "Failed";
    }

    sqlsrv_close($conn);

?>

db-admin.php и db-sales.php

<code><!DOCTYPE html>
<html lang="en">

<head>
  <title>TEST WEB APP</title>
</head>

<body>

  <br>

  <?php
    session_start();
    echo '<pre>' . print_r($_SESSION, TRUE) . '
';?>
SIGN OUT

Это мои коды, тогда как я сказал, что я обновляю страницу на ПК1, тогда результат будетпосле входа в ПК2 заменяется сеансом, таким как ПК2.

Я надеюсь, что вы можете мне помочь, и, пожалуйста, будьте добры ко мне.

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...