AJAX php文件中的会话未更新

时间:2018-10-19 17:18:43

标签: php ajax session updating

我在更新名为“ subs”的SESSION的值时遇到问题。当我单击.userLink时,应显示特定用户的配置文件。可行-根据我单击的链接,所有配置文件信息都在更改。甚至我的会议也能获得正确的价值。但是只有一次。当我单击另一个用户链接时,个人资料信息会更改(名字,姓氏,...),但是在删除Cookie之前,会话的值保持不变。然后,我可以再次获得正确的值。

我完全沮丧。我找不到错误。 AJAX正常工作,所有文件的顶部都有session_start()。

请问有人可以帮我吗?

JAVASCRIPT(AJAX呼叫)

$(".userLink").click(function() {
        var user = $(this).html();
        var dataString = 'uzivatel='+ user;
        $.ajax({
          type: "POST",
          url: "includes/showProfile.php",
          data: dataString,
          dataType: 'json',
          cache: false,
          success: function(result){
            $("#otherProfile").toggle();

            $("#nameSection h2").html(result[1]);
            $("#nameSection h1").html(result[2]);
            $("#Pbirthdate").html(result[3]);
            $("#Pgender").html(result[4]);
            $("#description").html(result[5]);
          }
        });

      });

showProfile.php

<?php
session_start();

include 'connect.php';

$profileOwner = $_POST['uzivatel'];

$sql = "SELECT * FROM users WHERE username = '$profileOwner'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {

  while($row = $result->fetch_assoc()) {
    $_SESSION["subs"] = $row["userID"];
    $firstname = $row["firstname"];
    $lastname = $row["surname"];
    $birth = $row["birthdate"];
    $birth = date( "j.n.Y", strtotime($birth));
    if($row["gender"] == "male"){
      $gender = "MUŽ";
    } else{
      $gender = "ŽENA";
    }
  }
}

$file="../profiles/".$ID."/description.txt";
$imageFile="profiles/".$ID."/profileImage.jpg";

if(file_exists($file)){
   $description = file_get_contents($file);
}

$array = array($ID,$firstname,$lastname,$birth,$gender,$description);
echo json_encode($array);


$conn->close();
?>

0 个答案:

没有答案