草庐IT

edit_session

全部标签

php - 在每个页面上进行检查时要使用 session 或数据库查询?

我的应用程序必须检查用户表中的多个数据才能创建页面。不仅仅是id和password,还有其他数据,目前大概有7部分信息。此检查在每个页面上进行。我是在session中加载所有这些数据,并从那里检查它,还是在每个页面请求时触发查询?不用说,还有其他查询正在进行中。关于优化,什么是更好的做法? 最佳答案 您应该从数据库中调用一次数据并将其存储在session变量中。我通常在用户首次登录时将我的user_id、用户名、电子邮件、用户名和access_levels放在session中,然后我可以在用户登录时在我的应用程序中的任何位置调用它们

php - session 管理 : PHP+MySQL

我正在用PHP+MySQL开发一个知识管理系统,我将员工和学生保存在不同的表中。现在我在session管理方面遇到了一些问题。如果以学生身份登录,我可以访问student_profile.php?id=1,但是如果我将url更改为staff_profile.php?id=1,我将以员工身份登录!我该如何解决这个问题?还有,我可以把学生和教职工放在同一张table上吗?有什么问题吗? 最佳答案 当用户登录成功时,您可以为sessionkey设置不同的值(身份)。在login.php中在教职员工和学生个人资料页面中,验证usertype

PHP,将数据存储到 session 和数据库之间哪个更好?

我正在构建一个为用户显示推荐页面的网站。用户只有点击下一步按钮才能看到不同的推荐网页。我想检查用户可以进行的每一项事件。因此,我将检查用户实际看到的页面浏览量。1.thereisa'user_pageview'columnforeachusers.2.thenumberswillincreaseeverytimeifusersclicknextbutton.我可以每次发送一个查询来更新数据。但是,我相信这一步会让我的服务器很烦。所以,我想着暂时把数据存到session里面,等会再存。你怎么看? 最佳答案 是的,它会“烦扰你的服务器”

java - Hibernate:session.get(EntityName.class, Id) 和使用 Criteria 之间的区别

到目前为止,我已经看到了两种从数据库(例如MySQL)检索对象的方法,一种是session.get(EntityName.class,Id);另一种是:criteria.add(Restrictions.eq('id',Id)).uniqueResult();当我想更新对象中的单个字段时,我发现第一种方式很方便,我可以使用setter更新对象然后提交事务,但我不确定这两种方式有什么区别。 最佳答案 Session.get()如果实例已经与session相关联,则返回该实例。条件总是转到数据库以获取特定行。除此之外,您可以发现的主要区

PHP 登录 - 从数据库获取用户数据或存储在 session 中?

对于我的登录系统,我需要检索一些用户数据,范围从用户名到session以及检查用户是否被暂停的“禁止状态”。我见过一些系统在每次加载时从users检索这些数据。我的问题是:这算作对我的服务器造成不必要的压力吗?或者我应该只将这些数据存储在我的$_SESSION中吗?但是它不会更新,我不知道如何检查禁令状态。谢谢! 最佳答案 检索每个请求的用户信息的单个数据库查询应该没问题-它非常快,而且对服务器的影响不大。您总是可以稍后添加缓存(例如APC或memcached),为此您可以告诉缓存每10分钟过期一次,或者您需要经常检查用户是否被禁止

php - 局部变量覆盖 PHP 中的 session 变量

嗨我在使用PHP页面时遇到一些问题:我正在使用this编写一些CMS教程。我设法编写了一个用于与菜单交互的类,并且一切正常:我可以在一个页面中插入、删除和获取菜单的所有项目,我可以在其中重新排序它们。当我开始为用户编写相同的页面时,我遇到了一个问题:我正在使用哨兵类来验证每个页面中的用户:require_once('../includes/Sentry.php');$theSentry=newSentry();if(!$theSentry->checkLogin(1)){header("Location:index.php");die();}现在:如果我单独使用这个验证,页面运行良好,

php - 为 session 设置 MySQL 时区

我知道使用这个查询我可以在mysql服务器中设置每个session的时间SETSESSIONtime_zone='+04:00'问题是如何检测我所在国家/地区的PHP中的这个+04:00(由于夏令时,它可能在一年中有所不同)部分? 最佳答案 尝试使用时区名称(如America/Chicago)而不是+/-一组小时。这应该考虑到夏令时。如果您还没有将zoneinfo加载到您的mysql数据库中,则需要将它加载到您的mysql数据库中。 关于php-为session设置MySQL时区,我们在

php - 在 php 中遇到 session 和页面问题

我真的不明白我在这里做什么。我有此页面profesor.php,我想在其中将一些数据插入数据库。在我从表单提交数据后,我想被重定向到另一个页面insert.php并显示一条消息。所以我有profesor.php:Welcome".$fullname."";}else{$result="Youarenotloggedinyet";}if(isset($_POST['studname'])){include_once("dbConnect.php");$studname=strip_tags($_POST['studname']);$course=strip_tags($_POST['co

php - session 变量不起作用? (PHP)

我有2个文件的问题:login_config.php和profile.php。login_config.php包含一个登录系统,它在完成多种形式的身份验证后将$_SESSION['key']设置为真。profile.php是用户在成功后被重定向到的页面。我希望profile.php上的数据只能通过设置$_SESSION['key']访问(成功登录后)。我的问题:我的代码有什么不正确的地方?此外,为什么我在登录提交时出现错误,该错误仅在$_SESSION['key']为false/未设置时才会返回,而不是目标profile.php页面?代码:(login_config.php)代码:(p

php - 为什么调用 session 不起作用? (代码点火器 3)

我的配置是这样的:$config['sess_driver']='database';//selectdatabasedriver$config['sess_save_path']='ci_sessions';//nameofthemysqltable$config['sess_cookie_name']='ci_session';$config['sess_expiration']=7200;$config['sess_expire_on_close']=FALSE;$config['sess_encrypt_cookie']=FALSE;$config['sess_use_data