标签: session-variables

如何跨页面使用存储和使用会话变量?

当访问一个页面时,我想启动一个会话并存储一个会话变量:

<?php
  session_start(); 
  $_SESSION['myvar']='myvalue';
?>
Run Code Online (Sandbox Code Playgroud)

然后从另一个页面,我想检查是否已存储该会话变量:

<?php
    session_start();
    echo("1");
    if(isset($_SESSION['myvar']))
    {
        echo("2");
       if($_SESSION['myvar'] == 'myvalue')
       {
           echo("3");
           exit;
       }
    }
    ?>
Run Code Online (Sandbox Code Playgroud)

此代码对我不起作用.

php session session-variables

24
推荐指数
3
解决办法
15万
查看次数

使用javascript设置会话变量

我通过Facebook登录我的网站后得到用户的姓名和电子邮件ID ..我想在登录表单上使用javascript在会话中添加这些变量; 我试过以下:

FB.api('/me', function(me) {
        if (me.name) {
            document.getElementById('auth-displayname').innerHTML = me.name; <% Session["fbName"] = me.name; %>
        }
}
Run Code Online (Sandbox Code Playgroud)

它给出了像我这样的错误(在这一行:<%Session ["fbName"] = me.name;%>)在当前上下文等中不存在.我的div"auth-displayname"正在获得该值,但是我我有会话变量的问题

我怎样才能做到这一点

javascript session-variables

24
推荐指数
4
解决办法
17万
查看次数

该脚本尝试执行方法或访问不完整对象的属性

我收到一个错误,完整的错误是:

Fatal error: authnet_cart_process() [<a href='function.authnet-cart-process'>function.authnet-cart-process</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;AuthnetCart&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/golfetc/public_html/wp-content/plugins/sccp-2.4.0/authnet_functions.php on line 1266
Run Code Online (Sandbox Code Playgroud)

我正在使用会话来存储购物车对象,并在稍后的某个时候获取它.authnetCart基本上是cart对象的类.

// Check cart in session
    if(isset($_SESSION['AUTHNET_CART'])) {
        // Get cart from session
        $authnetCart = $_SESSION['AUTHNET_CART'];
        foreach($authnetCart->getCartItems() as $item) {  // Line#1266 …
Run Code Online (Sandbox Code Playgroud)

php wordpress session session-variables

24
推荐指数
2
解决办法
3万
查看次数

为什么这个PHP脚本(由AJAX调用)随机不能正确加载SESSION?

Ahoy StackOverflow,

我在我的项目中遇到过这个问题:简而言之,从我收集的内容来看,通过AJAX调用的PHP脚本没有正确地注册在index.php页面顶部设置的SESSION变量.起初,我认为这是由于会话锁定,所以我继续并添加session_write_close(),但没有解决问题.

此问题仅在新用户会话开始后的大约25%的时间内发生(即:用户登录时).

我继续删除了90%的代码,以便将错误降低到重现所需的最小编码.

Firebug通过ajax.php导致的错误结果

图片

Firebug通过ajax.php的预期结果

图像2

注:这两个结果表明指数的回报print_r($_SESSION)Array ( [userid] => 3724 [trialstatus] => 1 [trialtcompletions] => 0 [userlevel] => 5 ),它可以让我知道这个问题是不是与会话中的索引页面上设置.

有没有人知道一个修复(可能甚至不是代码,甚至可能是服务器设置),它将正确地允许通过AJAX调用的脚本正确访问Session变量?

测试复制方案

  1. 删除域的所有cookie
  2. 加载页面(最多2次).2次重新加载后永远不会发生问题.
  3. 如果未显示错误结果,请重复步骤.

的index.php

<?php

if (session_status() === PHP_SESSION_NONE) session_start();

if (!isset($_SESSION['userid']))
{
    $_SESSION['userid'] = 3724; //$login['AccountID'];
}

$_SESSION['trialstatus'] = "12";
$_SESSION['trialtcompletions'] = "12";
$_SESSION['userlevel'] = "12";
session_write_close();

print_r($_SESSION);
?>
<!DOCTYPE html><html><head><script src="./js/jquery.min.js"></script>
<script>
    function loadStage(step,input,callback){
        $.ajax({
            type: "POST",
            url: "./ajax.php",
            data: { step: …
Run Code Online (Sandbox Code Playgroud)

php ajax session session-variables

24
推荐指数
2
解决办法
1174
查看次数

将数据保存到JSF中的会话

我是J(2)EE和Web应用程序开发世界的新手,但我很快就在我身边学习并学习了很多东西.每一天都是我新发现的奇妙之旅.

我目前正在开发一个项目,我在Glassfish v2上使用Visual JSF Woodstock.我对JSF也很陌生.

有时我需要在请求之间保存一些对象(例如MyObject).从我到目前为止所阅读和理解的内容来看,我需要使用会话来在不同请求之间保存这些对象.到现在为止还挺好.

究竟如何做到这一点是我担心的地方.我知道在JSP中你可以使用session.setAttribute("myObj", myObject)使用cookie或url重写或隐藏的表单变量来保存客户端对象.

另一方面,在JSF中,我使用Session scoped bean,比如说SessionBean1,并将对象保存为SessionBean1属性(例如SessionBean1.setSomeOjb(myObj)).这是正确的方法吗?

我猜这样做会导致服务器端的内存利用率增加,因为每个请求都会创建会话范围bean的新实例,SessionBean1加上SessionBean1中保存的myObject实例使用的内存.

我已经读过你可以使用FacesContext.getExternalContext().getSession/getSessionMap()哪个会在客户端保存会话变量.

那么您建议我使用哪种方法 - 会话范围bean或会话映射来保存对象以便在会话请求之间进行访问?

谢谢.

jsf session-variables session-state

23
推荐指数
2
解决办法
8万
查看次数

默认期后mvc 5会话超时(20分钟)

我的MVC 5站点有这样的web.config:

<authentication mode="Forms">
  <forms name=".ADAuthCookie" loginUrl="~/Account/Login" 
       timeout="2880" slidingExpiration="true" protection="All" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

但超时不起作用.我在这里给出的价值无关紧要,它总是在20-30分钟后到期.如何维护用户登录更长时间或直到他们退出?

有没有办法只使用"In-Proc"来实现这个目的?或者我在这里遗失了什么?

asp.net-mvc session-variables asp.net-mvc-5

23
推荐指数
1
解决办法
9万
查看次数

去会话变量?

我是Go语言(Golang)的新手,我正在编写一个基于Web的应用程序.我想使用会话变量,比如PHP中的类型(从一个页面到下一个页面可用的变量,以及用户会话的唯一变量).Go中有类似的东西吗?如果没有,我将如何自己实施它们?或者有哪些替代方法?

session session-variables go

21
推荐指数
3
解决办法
1万
查看次数

.NET HttpSessionState案例不敏感

使用" InProc "存储的.NET的HttpSessionState似乎将会话变量键值视为不区分大小写.例如:

session["foo"] = 1;
session["Foo"] = 2;
Trace.Write(session["foo"].ToString()); // => 2
Run Code Online (Sandbox Code Playgroud)

这种行为似乎没有记录,所以我想知道它是否仅仅是底层会话存储机制的副作用,还是故意由类本身实现的.由于C#将其他所有内容视为区分大小写,因此会话以不同的方式行事会有点令人不安.是什么赋予了?商店类型有所不同吗?是否与VB向后兼容?

.net asp.net session-variables session-state case-sensitive

20
推荐指数
1
解决办法
5339
查看次数

会话变量在页面加载之间不会持久存在

有人能告诉我为什么会话变量不在页面之间传递?他们在2天前工作.现在不是吗?有一个第三方系统根据第三方系统记录用户.我将用户定向到返回网址的登录页面.第三方系统将用户登录并传递其ID和在其末尾生成的令牌,并将其返回到我的站点,其中包含ID和URL中的令牌.

如果未设置会话,我会尝试从网址中获取ID和令牌并设置会话.(工作)我然后生成我自己的令牌来验证从第三方系统(工作)传递的令牌,当我去点击另一页时,我设置的会话不为空(????)

这是我的代码:

    <?php
    session_start();

    // FUNCTION TO PASS THE URL THE USER IS ON SO THEY COME 
    // BACk TO THIS PAGE AFTER THE LOG IN. IF APPLICABLE
    function curPageURL() {
    $pageURL = 'http';
    if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "80") {
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    } else {
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
    return $pageURL;
    }

    // DESTROY SESSION INFO IF TIMED OUT
    if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) {
    session_destroy(); …
Run Code Online (Sandbox Code Playgroud)

php session-variables

20
推荐指数
4
解决办法
5万
查看次数

这两个HttpContext.Current.Session和Session - asp.net 4.0有什么区别

这两段代码有什么区别.

HttpContext.Current.Session["myvariable"]
Session["myvariable"]
Run Code Online (Sandbox Code Playgroud)

asp.net 4.0和C#4.0

c# asp.net session session-variables httpcontext

20
推荐指数
3
解决办法
3万
查看次数