0
我在我的PHP網站上使用MongoDB來保持我的註冊用戶和他們的登錄。到現在爲止還挺好。MongoDB在PHP中登錄系統和會話
當我登錄,我用下面(簡化):
$login = $collection->findOne(array("mail" => $mailIn, "pass" => $passIn));
if($login) {
$_SESSION["gatekeeper"] = $login['_id'];
}
,當我註冊,以下內容:
$collection->insert($obj);
mkdir("$appDirectory/users/" . $obj["_id"]);
$_SESSION["gatekeeper"] = $obj["_id"];
整個系統工作良好,但有東西讓我煩惱:看看會話管理器中的JSON:
"{\"gatekeeper\":{\"$id\":\"505f1cd25c73959504000000\"}}" (redis)
array(1) { ["$id"]=> string(24) "505f1cd25c73959504000000" } (php var dump - gatekeeper)
,就像你看到的那樣,它將它存儲爲一個關聯數組$ id-> id。
當然,簡單的gatekeepeer-> id會好得多。
我該如何輕鬆改變這種情況?老實說,由於這個「$ id」令我的PHP感到困惑,所以我感到困惑,同時也讓我感到困惑。
基本上煩惱是,當我需要檢索看門人:
$gatekeeper = $_SESSION["gatekeeper"];
$userID = $gatekeeper['$id']; //WILL work
$userID = $gatekeeper; //WON'T WORK
它就會簡單得多(更好),只是有:
$userID = $_SESSION["gateID"];
$userName = $_SESSION["gateName"];
....
代替:
$gatekeeper = $_SESSION["gatekeeper"];
$userID = $gatekeeper['$id'];
$userName = $gatekeeper['name'];
自$ _SE SSION始終引用相同的會話,因此不需要在數組內部有數組。
在此先感謝。
太棒了!我知道這將是一件非常簡單的事情,只是無法弄清楚。 –