我正在使用快速框架。 我想从socket.io到达会话数据。 我尝试使用client.listener.server.dynamicViewHelpers数据快速dynamicHelpers,但我无法获取会话数据。 有一个简单的方法来做到这一点? 请参阅代码 app.listen(3000); var io = require('socket.io'); var io = io.listen(app); io.on('connection', function(client){ // I want to use session data here client.on('message', function(message){ // or here }); client.on('disconnect', function(){ // or here }); });
让我彻底困惑的事情之一是使用session.Flush ,与session.Commit和session.Close一起使用。 有时session.Close起作用,例如它提交我需要的所有更改。 我知道当我有一个事务时,我需要使用提交,或者有几个创build/更新/删除的工作单元,这样,如果发生错误,我可以select回滚。 但是有时候我真的被session.Flush背后的逻辑所session.Flush 。 我已经看到你有一个session.SaveOrUpdate()其次是一个刷新的例子,但是当我删除刷新它工作正常。 有时候我在Flush语句中遇到错误,说会话超时,删除它确保我没有遇到那个错误。 有没有人有一个很好的指导方针,以何时何地使用同花顺? 我已经检查了这个NHibernate文档,但我仍然无法find一个简单的答案。
在我的网站上,我使用PHP会话。 会话信息存储在我的./sessionpath的文件中。 几个月后,我发现这些会话文件永远不会被删除,现在在这个目录中有145.000个。 这些应该如何清理? 我是否必须以编程方式执行此操作,或者我可以在某处使用会自动执行此清理的设置吗? 编辑忘了提及:这个网站运行在一个提供商,所以我没有访问命令行。 我有FTP访问,但会话文件属于另一个用户(一个Web服务器进程运行我猜)从我得到的第一个答案我认为这不只是在服务器或PHP的设置,所以我想我会必须在PHP中实现一些东西,并定期从浏览器中调用它(也许是从我自己的机器上运行的cron作业)
我有一个“我发誓我没有碰到服务器”的情况。 我真的没有触及任何的PHP脚本。 我遇到的问题是PHP数据不被保存在不同的页面或页面刷新。 我知道正在创build一个新的会话,因为我可以设置一个会话variables(例如$ _SESSION ['foo'] =“foo”),并在同一页面上打印出来,但是当我尝试使用相同的variables在另一个页面上没有设置!是否有任何PHP函数或信息我可以在我的主机服务器上使用,看看是怎么回事? 下面是一个示例脚本,在我的主机服务器上不起作用: <?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views'] = $_SESSION['views']+ 1; else $_SESSION['views'] = 1; echo "views = ". $_SESSION['views']; echo '<p><a href="page1.php">Refresh</a></p>'; ?> 刷新页面后,'views'variables不会增加。 我认为这是他们的问题,但我想确保我不是一个完全白痴。 这是我主机的服务器(PHP版本4.4.7)phpinfo():
我只是想到,我实际上可以将对象存储在$ _SESSION中 ,我发现它非常酷,因为当我跳到另一个页面时,我仍然有我的对象。 现在,在我开始使用这种方法之前,我想知道这是否真的是一个好主意,或者是否有潜在的陷阱 。 我知道,如果我有一个单一的入口点,我不需要这样做,但是我还没有,所以我没有一个单一的入口点,我真的想保留我的对象,因为我不'不会那样失去我的状态。 (现在我也读了,我应该编程无国籍的网站,但我不明白这个概念呢。) 所以简而言之 :在会话中存储对象是否可行,是否有任何问题? 编辑: 临时摘要 :现在我明白,即使重新查询数据库,重新创build对象也可能更好 。 进一步的答案可能会详细阐述这一点!
我刚刚完成了创build一个完整的login和PHP注册systsem,但我的问题是我还没有使用任何会议呢。 我在PHP中是一个新手,我从来没有使用过会议。 我想要做的是在用户注册并填写login表单后,他们仍然保持在同一页面上。 因此,如果会话是logged_in,那么会有一部分会话,另一部分会是其他部分(用户没有login,因此显示login表单)。 谁能告诉我如何开始?
有没有一种方法,我可以启动一个持久的会议在PHP中没有一个会话cookie的位置? 是否有其他方式来维护跨页面的会话,例如基于IP地址的解决scheme? 我问的原因是,虽然大多数用户都有cookies,但我想知道是否有一种方式让login系统为那些被禁用的人工作(即使我认为禁用cookies只是个人不必要的偏执狂)。
我正在使用OpenID。 我怎样才能让用户在closures浏览器窗口后长时间保持login? 如何存储和访问用户的User对象? 基本上,我想我真的不明白会话如何在Java中工作。
我正在创build一个会话,当用户login像这样: $_SESSION['id'] = $id; 我怎样才能指定在X会议的会话超时,然后让它执行一个函数或页面redirect一旦达到X分钟? 编辑:我忘了提到,我需要会议超时由于不活动。
又一个晚上,另一个问题! 我创build了一个login页面,如果密码是纯文本,那么这个页面就可以正常工作。 我的问题是,我的registry单使用password_hashinput一个encryption的密码到表中。 我目前的脚本如下。 注册脚本 $password = password_hash($_POST['password'], PASSWORD_DEFAULT); login脚本 <?php session_start(); if(isset($_POST['email'], $_POST['password'])){ require('../../../private_html/db_connection/connection.php'); $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $query = $conn->prepare("SELECT * FROM user_accounts WHERE email=:email AND password=:password"); $query->bindParam(':email', $_POST['email']); $query->bindParam(':password', $_POST['password']); $query->execute(); if($row = $query->fetch()){ $_SESSION['email'] = $row['email']; $_SESSION['first_name'] = $row['first_name']; header("Location: ../../myaccount/myaccount.php"); } else {header("Location:../../login/login.php ");} } ?> […]