簡體   English   中英

一種使用DOM從外部javascript文件訪問php會​​話數據的方法

[英]a way to access php session data from an external javascript file using DOM

我正在創建一個模擬微型Blog網站的基本Web應用程序。

當用戶登錄時,來自MySql查詢結果的一些帳戶信息存儲在會話變量中,以啟用對用戶的跟蹤。 因此,userID,userName,userEmail等。

當用戶單擊“提交”時,在“創建帖子”頁面上,一個外部鏈接的javascript文件開始工作,它具有自己的事件處理程序,其余部分使用AJAX,然后將結果輸出到當前的“創建帖子網頁”。

顯然,在創建帖子時,我需要存儲用戶ID,但似乎無法將其傳遞給AJAX。

我正在考慮的解決方案是創建一個隱藏的輸入字段,並將用戶ID(數字)放在占位符中,然后在JS文件中使用DOM並調用doc.getelementby來找出用戶ID是什么,我可以對帖子標題和帖子內容做得很好,但是顯然希望隱藏用戶ID,所以有辦法我可以在創建帖子頁面上將其隱藏給用戶(當前是php會話var),傳遞給Ajax函數來創建帖子?

也許您的AJAX腳本可以調用一個后端PHP文件,該文件通過$ _SESSION ['userName'],$ _ SESSION ['userEmail']等訪問會話變量,並執行您需要執行的所有操作(例如,代表創建一個帖子)用戶)。

換句話說,PHP對當前登錄的用戶起作用(由用戶無法訪問的會話變量標識),JavaScript會根據您發回給它的任何響應來更新UI。

您可以使用隱藏的輸入來實現您的想法,只需在隱藏字段中對用戶ID進行哈希處理即可。 您可以通過PHP在服務器端對其進行哈希處理,甚至發布哈希值並通過PHP進行解密,然后再保存到數據庫中。 使用jQuery,您可以通過以下方式獲取隱藏字段的值:

val userID = $('#userID').val();

比老式的document.getElementById方法要少一些的工作。

暫無
暫無

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

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