簡體   English   中英

我真的必須重新加載我的頁面兩次嗎?

[英]Do I really have to reload my page twice?

我目前正在從事一個項目,包括 Facebook SDK。 我已經使用 javascript 代碼自己登錄/注銷了。

我正在使用 AJAX POST 請求來保存用戶 ID 和會話中響應中的名稱。

這里的問題是,我實際上必須重新加載頁面兩次,第一次是獲取 POST 參數並將它們保存到 $_SESSION 中。 加載會話需要第二次刷新。

有沒有干凈的方法來避免這種情況?

javascript: $.post( "login.php", { id:userID, name:response.name } );

login.php: $_SESSION['name'] = $_POST['name']; $_SESSION['userID'] = $_POST['id'];

我感謝每一種幫助。 謝謝。

編輯:我想在我的網站上為使用 facebook 登錄的用戶提供額外的機會。 我知道如何做到這一點的唯一方法是使用 PHP 中的會話。 每當他登錄時,我都會創建一個會話,該會話表示一個人已登錄。

現在我必須對 facebook 登錄做同樣的事情。 它已經在本地與 PHP SDK 一起工作了,但是網站空間不支持那種 SDK。 這就是為什么我必須避開 javascript 的原因。 有沒有其他方法可以確保一個人被記錄?

您正在使用 AJAX,
所以你可以避免重新加載頁面,

<?php    
    session_start();

    if (isset($_GET['name'])) {$_SESSION['name'] = $_GET['name'];}
    if (isset($_GET['userID'])) {$_SESSION['userID'] = $_GET['userID'];}

    if(isset ($_POST['name']  ) && isset ($_POST['userID'])){
        $_SESSION['name']= $_POST['name']; 
        $_SESSION['userID']=  $_POST['userID'];
    }else{
        $_SESSION['userID'] = 0;
    } 
?>

和 javascript 代碼是:

$.post( "/login.php", { id:userID, name:response.name } );

暫無
暫無

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

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