问题标签 [session-variables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
583 浏览

django - 将会话数据传递到 URL

我在会话中设置了一些信息,我想知道是否可以将此信息传递到使用此会话数据的视图的 URL 上。我希望它以这样一种方式工作,即如果用户从该视图中为页面添加书签,则会话数据用于将变量传递到视图中。我怎样才能做到这一点?

我有一个过滤器视图,所以我希望在 URL 上显示当前选择的过滤器......有点像 www.mysite.com/filter1/filter2/filter3/ 然后如果 filter2 被清除,我将拥有 www.mysite.com/过滤器1/过滤器3/

目前我的过滤器视图的 URLConf 如下所示:

0 投票
4 回答
4353 浏览

php - 如何使用 jQuery/Ajax 和 PHP 检索 HTML 和变量

我有一个 HTML 表单,它使用下拉列表中的选择来填充 mySQL 表,但使用 jQuery / AJAX 调用外部 php 文件来更新原始表单下方输入行的显示。

表单的目的是一个订单输入系统,因此工作:选择一个项目,看到它添加到列表中。我遇到的问题是,除了显示输入的项目外,我还想显示总订单价值的更新。我以为我可以使用 PHP 会话变量,但除非刷新原始页面,否则这似乎不起作用。

因此,我的问题是:有没有办法从我的外部 php 文件以及我附加到显示页面的 HTML 中获取会话变量(或任何其他类型的变量)?

如果有帮助,这是我在添加新行时用来调用外部 php 的代码:

其中“ajaxInsertOrderLine.php”是外部文件,“inputStockNo”和“qty”是发送到脚本并在成功插入后归零的两个表单变量。

0 投票
1 回答
522 浏览

asp.net - 在特定场景中丢失的会话变量

我在 ASP/VB.NET 应用程序中丢失会话变量时遇到问题。

该应用程序允许搜索项目,或者如果提供了唯一链接(在浏览器中),它可以显示项目。它在会话变量中保存有关项目的信息。

在显示项目的网页中,用户可以单击一个按钮,该按钮会打开一个窗口,其中包含有关项目的附加信息——从会话变量中获取。

当我使用搜索引擎搜索该项目并单击按钮时,它可以正常工作。

当我将链接复制到浏览器时:显示了该项目,但是单击该按钮会返回一个“空异常”——包含有关该项目的信息的会话变量会丢失。此外,当我第二次提供按钮工作的链接时,变量就在那里!!!

有谁知道为什么会发生这种情况?

0 投票
2 回答
16096 浏览

php - 通过 iframe、php 传递会话变量

网站的第一个计时器,这里不是经验丰富的 php 程序员 :)

我有一个问题,我在一个站点中使用一个 iframe,我试图在其中使用一个会话变量,首先我只是试图显示会话变量以确保它们可以从 iframe 中访问:

这只是显示“产品检查会话”,每个之后都没有,我将会话变量设置为:

$productBox 是来自 URL 的 GET:

奇怪的是,如果我只是获取从 URL 中检索到的 $productBox 变量并使用它,那么代码就可以工作,只有当我将它存储在会话变量中时它才会混淆。我想检索第二个 $productBox 并将其分配给 session var productcheck1 等等。不幸的是,我必须一次接受一个 var,否则我可以通过所有 4 个产品而不用担心会话。

也许我让这太复杂了,任何帮助将不胜感激谢谢!

0 投票
3 回答
3454 浏览

session-variables - 如何让 ELMAH 包含会话值?

注意:我知道避免使用会话的各种原因,但这是我继承的一个项目,所以请跳过任何回复的那部分:)

由于这是一个已解决的问题,我希望有人可以指出一个包含记录会话数据而不是重新发明轮子的 ELMAH 补丁/分支/分支。

一件奇怪的事情是来自 Atif 的一篇较旧的帖子,上面写着他们已经被记录了:

http://markmail.org/message/ncmdgwm5rmzewbwu

评论者 henningst 提到在此处添加会话变量:

http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx

另一种方法(我宁愿避免)是将值复制到 cookie 中

http://www.sharpdeveloper.net/content/archive/2008/11/10/how-to-get-session-or-other-custom-values-into-elmah.aspx

我知道另一种选择是切换到 ELMAH 以外的其他东西(例如 Exceptioneer - 请参阅http://exceptioneer.com/Public/ExceptioneerAndELMAH.aspx),但由于这是我目前对 ELMAH 的唯一问题,我宁愿只拥有一个修补ELMAH而不是切换到别的东西。

0 投票
4 回答
3949 浏览

php - 使用会话变量时 IE 中的 PHP 重定向

我有一个像下面这样工作的小网站

  1. 用户进入登录页面并输入凭据(称为 page1)
  2. 表单被发布到 page2,它对用户进行身份验证,调用 session_start,然后设置一个会话变量$_SESSION['somevar']并重定向到 page3
  3. 在 page3 上,我检查是否$_SESSION['somevar']设置了如果不将用户发送回登录页面

代码:

问题是虽然这在 FireFox 中有效,但即使使用正确的用户凭据,IE 7 也会继续重定向回 page1 而不是显示 page3 的内容。

请一些指针来解决这个问题?

编辑:一个非常奇怪的解决方案,但它有效。我变了

IE现在很开心。但我仍然不知道为什么isset不在 IE 中工作

非常感谢

0 投票
3 回答
148 浏览

php - PHP 会话问题

我遇到了一个我一生都无法解决的问题。我为客户设置了一个超级简单的 CMS。CMS 的每个不同页面都包含一个名为 session.php 的文件。

时不时地,随机的东西会从数据库中消失。因此,我设置了一个粗略的日志系统,通过 CMS 记录任何操作。嗯,又发生了。日志显示:

这持续了几页。它甚至没有显示 195.42.102.25 登录!上次它发生在 195.128.18.19。他们的计算机如何在没有会话变量的情况下加载窗口?我的代码中是否存在我完全忽略的安全漏洞?!

关于这个问题的任何见解都会很棒。

谢谢,

0 投票
2 回答
8753 浏览

session - JSF - 访问 SessionScoped 托管 bean

我是 JSF 的新手,我正在做一些基本的事情来了解应该如何使用它。在我的一个项目中,我有一个 ManagedBean,SessionScoped 如下所示

现在,在表单的一个页面中,我有一个<h:inputText id="firstName" value="#{user.firstName}" ... />我希望从用户那里获得一个值并将其放入我的 bean 的属性中。第二页只显示输入数据,从 bean 访问它。( <h:outputText value="${user.firstName}"/>)。

问题是,如果在那之后我进入第三页(只需键入 URL)并且尝试使用同一行再次显示来自 bean 的数据,则不会显示任何数据。我期待虽然 bean 是会话范围的,但它应该在当前会话中仍然可用。

0 投票
1 回答
286 浏览

c# - 尝试将 Global.asax 1.0 文件转换为 Application_Error + Session 和 Redirect 的 3.5 问题

所以在 Global.asax 中是这样的:

protected void Application_Error(object sender, System.EventArgs { Session["CustomError"] = Server.GetLastError(); Server.ClearError(); Response.Redirect("~/ErrorPage.aspx"); }

在 ErrorPage.aspx 中是这样的:

private void Page_Load(object sender, System.EventArgs e) { Exception currentException = ((Exception)Session["CustomError"]).InnerException;

// 写入错误消息 if (currentException != null) txtErrorMessage.Text = currentException.Message;

// 遍历内部异常。currentException = (Exception)Session["CustomError"]; while (currentException != null) { message.Append(currentException.Message).Append("\r\n").Append(currentException.StackTrace); message.Append("\n============================================ ===\n"); currentException = currentException.InnerException; }

由于这是旧的 1.0 代码,因此在转换为 3.5 Global.asax 文件时会出错。它告诉我“会话”不可用,而且我无法重定向??我认为其中一个问题可能是 Application_Start 也抛出了一个错误。但是,如果我注释掉所有应用程序启动代码,我仍然会收到错误,但它们永远不会被重定向到错误页面。

0 投票
5 回答
4418 浏览

asp.net - asp.net 中的强类型会话

如果这个问题已经被问过,请原谅我。HttpContext.Current.Session["key"]返回一个对象,我们必须先将其转换为特定对象,Type然后才能使用它。我正在研究类型化会话的各种实现

http://www.codeproject.com/KB/aspnet/typedsessionstate.aspx http://weblogs.asp.net/cstewart/archive/2008/01/09/strongly-typed-session-in-asp-net.aspx http://geekswithblogs.net/dlussier/archive/2007/12/24/117961.aspx

Type如果我们想在会话中添加一个新的对象,无论是作为方法还是作为单独的包装器,我觉得我们需要向 SessionManager 添加更多代码(如果我错了,请纠正我) 。我以为我们可以使用泛型

  • 使用有什么先天优势吗

    SessionManager<ClassType>.GetSession("sessionString")

比使用

  • 我还想拥有类似的东西会很好

SessionManager["sessionString"] = objToStoreInSession,但发现静态类不能有索引器。有没有其他方法可以实现这一目标?

  • 我的想法是创建一个 SessionObject 来存储Type和 对象,然后将此对象添加到 Session(使用 SessionManager),并带有密钥。检索时,将所有对象转换为SessionObject,获取类型(例如 t)和对象(例如 obj)并转换objt并返回。

    public class SessionObject { public Type type {get;set;} public Object obj{get;set;}
    }

这将无法正常工作(因为返回签名将相同,但返回类型将不同)。

是否有任何其他优雅的方式以更安全的方式在会话中保存/检索对象