在index.php中我在jQuery中设置了一个会话变量,在这个页面中我得到了我的令牌ID,但是我想在另一个页面中显示它,比如home.php。所以我在home.php页面
var val = $.session.get('Token');
alert(); //**getting here undefined**.how can solve this issue please tell me any one
(function($){
$.session = {
_id: null,
_cookieCache: undefined,
_init: function()
{
if (!window.name) {
window.name = Math.random();
}
this._id = window.name;
this._initCache();
// See if we've changed protcols
var matches = (new RegExp(this._generatePrefix() + "=([^;]+);")).exec(document.cookie);
if (matches && document.location.protocol !== matches[1]) {
this._clearSession();
for (var key in this._cookieCache) {
try {
window.sessionStorage.setItem(key, this._cookieCache[key]);
} catch (e) {};
}
}
document.cookie = this._generatePrefix() + "=" + document.location.protocol + ';path=/;expires=' + (new Date((new Date).getTime() + 120000)).toUTCString();
},
_generatePrefix: function()
{
return '__session:' + this._id + ':';
},
_initCache: function()
{
var cookies = document.cookie.split(';');
this._cookieCache = {};
for (var i in cookies) {
var kv = cookies[i].split('=');
if ((new RegExp(this._generatePrefix() + '.+')).test(kv[0]) && kv[1]) {
this._cookieCache[kv[0].split(':', 3)[2]] = kv[1];
}
}
},
_setFallback: function(key, value, onceOnly)
{
var cookie = this._generatePrefix() + key + "=" + value + "; path=/";
if (onceOnly) {
cookie += "; expires=" + (new Date(Date.now() + 120000)).toUTCString();
}
document.cookie = cookie;
this._cookieCache[key] = value;
return this;
},
_getFallback: function(key)
{
if (!this._cookieCache) {
this._initCache();
}
return this._cookieCache[key];
},
_clearFallback: function()
{
for (var i in this._cookieCache) {
document.cookie = this._generatePrefix() + i + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
this._cookieCache = {};
},
_deleteFallback: function(key)
{
document.cookie = this._generatePrefix() + key + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
delete this._cookieCache[key];
},
get: function(key)
{
return window.sessionStorage.getItem(key) || this._getFallback(key);
},
set: function(key, value, onceOnly)
{
try {
window.sessionStorage.setItem(key, value);
} catch (e) {}
this._setFallback(key, value, onceOnly || false);
return this;
},
'delete': function(key){
return this.remove(key);
},
remove: function(key)
{
try {
window.sessionStorage.removeItem(key);
} catch (e) {};
this._deleteFallback(key);
return this;
},
_clearSession: function()
{
try {
window.sessionStorage.clear();
} catch (e) {
for (var i in window.sessionStorage) {
window.sessionStorage.removeItem(i);
}
}
},
clear: function()
{
this._clearSession();
this._clearFallback();
return this;
}
};
$.session._init();
})(jQuery);
// Here i am set session variable
$.session.set('Token',"1") ;
var get_session_name =$.session.get('Token');
alert(get_session_name);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 0 :(得分:0)
你可以在一个文件(header.php)中创建你的会话变量,该文件应该包含在每个其他文件中(在这种情况下是home.php)
所以,像这样创建会话
的header.php
<?php
session_start();
if (isset($_SESSION['username'])) {
// session already exists
echo "User ID:", $_SESSION['id'], "<br />"
} else {
// New PHP Session
$_SESSION['username'] = "loginprocess";
$_SESSION['id'] = 444;
}
?>
可能是home.php
<?php require "header.php"; ?>
<!doctype html>
<head></head>
<body>
<?php
if (isset($_SESSION["username"])) {
$loggenOnUser = $_SESSION["username"];
echo "Existing User: ", $loggenOnUser, "<br />"
} else {
$loggenOnUser = " new user";
}
?>
...
<div id="LoggedInUser" class="fluid ">
Hi. I'm <?php echo $loggenOnUser; ?>
</div>
修改强>
尝试将会话初始化代码移动到header.php或footer.php,并在每个其他php页面中包含页眉和页脚,这样就可以访问每个页面中的会话变量。
在home.php之类的其他页面中包含header和footer.php,如:
<?php require "header.php"; ?>
.
.
//Body
.
.
<?php require "footer.php"; ?>