簡體   English   中英

來自jQuery $ .post的PHP SESSION

[英]PHP SESSION from jQuery $.post

我在這里和其他地方都讀過很多關於此問題的文章,卻沒有找到可以幫助我的答案。 而且由於該主題似乎涉及面很廣,我認為最好的方法是提問。

我目前正在通過jquery文件中的$ .post-script將登錄數據從表單發送到php-script。 那里沒有問題。 我有一個遍歷函數鏈的類,以驗證和保護字符串,因此完全沒有問題。 我一直都在設置會話,可以通過在$ .post中添加function(data)來打印並獲取會話。

我已經將session_start()添加到php腳本和index.php中。 我正在使用Chromium,可以看到已經設置了會話,但是當我進行print_r($ _ SESSION);時, 它出來是空的。 顯然,這也導致我的if(isset($ _ SESSION ['uid']))也不起作用。

js:

$('#login').submit(function(e){
    e.preventDefault();
    values = {};
    var url = '../admin/php/signIn.php';
    console.log('Clicked on submit.');
    $.each($(this).serializeArray(), function(i, field){
        values[field.name] = field.value;
    });
    $.post(url, {username: values.username, password: values.password})
    .done(function(data){ location.reload(); /*alert(data);*/ })
    .fail(function(){ alert('Fail.'); });
});

的PHP:

private function login($uid, $uname){
    $_SESSION['uid'] = $uid;
    echo $_SESSION['username'] = $uname;
    session_start();
}

我在一個會話中添加了回顯,只是為了能夠通過jquery看到它。 是“私有功能”問題還是其他地方? (就像我之前說的那樣,在上課。)

我希望這對某人有意義,因為我在這里迷路了。

開始分配變量會話之前,必須先調用session_start()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM