从无效的会话中获取值 - 是获取还是传递它的问题?

问题描述 投票:0回答:0

当用户登录我的网站时,我设置这样的会话:

session_start();
if(isset($_POST["button"])) {
$email = $_POST["email"];
$lozinka = $_POST["lozinka"];

$korisnik = new Korisnik(1, "", "", $email, $lozinka);
$odgovor = Korisnik::prijava($email, $konekcija);
$rez = $odgovor->fetch_array(MYSQLI_ASSOC); 
$lozinka = $rez["lozinka"] ?? " ";
$korisnikID = $rez["korisnikID"] ?? " ";

if (!password_verify($_POST["lozinka"], $lozinka)) {
    echo '<script type="text/javascript">
           window.onload = function () { alert("Pogrešno uneti podaci!"); } 
          </script>'; 
} else {
    $_SESSION["korisnik"] = $korisnikID;
    setcookie("korisnik", $korisnikID, time() + 3600);
    header("Location: glavna.php");
    exit();
}
}

当我尝试提取主页上的值并将其转发到 JQuery 函数中以便我可以获取用户创建的任务来显示它们时,我这样做:

session_start();


if (isset($_COOKIE["korisnik"])) {
    $korisnik = $_COOKIE["korisnik"];
}

[...]

<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

<script>
    function vratiZadatke() {
        let izvrsen = "0";
        let kategorija = "0";
        let korisnik = $korisnik;
        $.ajax({
            url: "../funkcije/vratiZadatke.php",
            data: {
                izvrsen: izvrsen,
                kategorija: kategorija,
                korisnik: korisnik
            },
            success: function (data) {
                $("#zadaci").html(data);
            }
        });
    }
    vratiZadatke();
</script>

vratiZadatke.php
文件如下所示:

$izvrsen = trim($_GET["izvrsen"]);
$kategorija = trim($_GET["kategorija"]);
$korisnik = trim($_GET["korisnik"]);

$zadaci = Zadatak::vratiZadatke($izvrsen, $kategorija, $korisnik, $konekcija);

我已经尝试在 SQL 查询中显示没有用户 ID 的数据并且它有效,但这给我带来了问题并且没有显示任何数据。这就是为什么除非需要,否则我不会共享那部分代码。这里可能是什么问题?

php jquery ajax session cookies
© www.soinside.com 2019 - 2024. All rights reserved.