Переменная сессии не совместима с файлами ajax? - PullRequest
0 голосов
/ 26 декабря 2018

Я устанавливаю значение переменной сеанса в одном файле.затем я использовал два файла для выполнения задачи.тогда внутренний файл вызовет новый файл, который является обычным php-файлом.теперь во всех этих трех файлах (2 вложенных и один новый файл) переменная Session не показывает правильное значение.Я имею в виду его значение не установлено.Я использую session_start () в начале каждого файла.в том числе эти вложенные файлы.Я новичок в php. Я хочу знать, в чем проблема.

эти функции будут вызывать ajax.php

function change_subcatagory()
{
    var xhttp;
    var val=document.getElementById('subcat').value;
    if (val.length == 0) { 
        document.getElementById("txtHint").innerHTML = "";
        return;
    }
    xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        document.getElementById("question").innerHTML=this.responseText;
    };
    xhttp.open("GET", "ajax2.php?subcatagory="+val, true);
    xhttp.send();

}
function change_catagory(){
    var xhttp;
    var val=document.getElementById('cat').value;
    if (val.length == 0) { 
        document.getElementById("txtHint").innerHTML = "";
        return;
    }
    xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
          document.getElementById("sub").innerHTML = this.responseText;
     };
      xhttp.open("GET", "ajax.php?catagory="+val, true);
      xhttp.send();

}
function signout()
{
    <?php
        session_destroy();
    ?>
    var mywindow = window.open("Login.php",'_self');
}

ajax.php

<?php
session_start();
$hostname="localhost";
$username="root";
$password="";
$databaseName="project";
$connect = mysqli_connect($hostname,$username,$password,$databaseName);
$catagory = $_GET["catagory"];

if($catagory!='catagory'){
$sql = "SELECT * FROM sub_catagory WHERE CID=$catagory";
$res = $connect->query($sql);
if($res){
    echo '<select  id=subcat onchange="change_subcatagory()"   
     style="top:10px; border-radius:16px; width:300px; height:30px">';
    while($row = $res->fetch_assoc()){
     echo '<option value = '.$row["sub_CID"].'>'; echo $row["sub_cname"]; 
  echo '</option>';
    }
    echo '</select><br/>';
}
else
    echo mysqli_error($connect);
} 
?>

это будет называться ajax2.php

<?php
session_start(); 
$hostname="localhost";
$username="root";
$password="";
$databaseName="project";
$connect = mysqli_connect($hostname,$username,$password,$databaseName);
$subcatagory = isset($_GET['subcatagory']) ? $_GET['subcatagory'] : '';
 $_SESSION["subcatagory"]=$subcatagory;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...