猿问

如何在30分钟后使PHP会话到期?

如何在30分钟后使PHP会话到期?

我需要让会话保持30分钟,然后将其销毁。



拉莫斯之舞
浏览 604回答 5
5回答

森林海

我明白上面的答案是正确的,但它们是在应用程序级别,为什么我们不只是使用.htaccess文件来设置过期时间?<IfModule&nbsp;mod_php5.c> &nbsp;&nbsp;&nbsp;&nbsp;#Session&nbsp;timeout &nbsp;&nbsp;&nbsp;&nbsp;php_value&nbsp;session.cookie_lifetime&nbsp;1800 &nbsp;&nbsp;&nbsp;&nbsp;php_value&nbsp;session.gc_maxlifetime&nbsp;1800</IfModule>

波斯汪

if&nbsp;(isSet($_SESSION['started'])){ &nbsp;&nbsp;&nbsp;&nbsp;if((mktime()&nbsp;-&nbsp;$_SESSION['started']&nbsp;-&nbsp;60*30)&nbsp;>&nbsp;0){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Logout,&nbsp;destroy&nbsp;session,&nbsp;etc. &nbsp;&nbsp;&nbsp;&nbsp;}}else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['started']&nbsp;=&nbsp;mktime();}

红糖糍粑

PHP会话在30分钟内到期的简单方法。注意:如果你想改变时间,只需用你想要的时间改变30,不要改变* 60:这将给出分钟。在几分钟内:(30 * 60)在几天内:(n * 24 * 60 * 60)n =没有天数&nbsp;的login.php<?php &nbsp;&nbsp;&nbsp;&nbsp;session_start();?><html> &nbsp;&nbsp;&nbsp;&nbsp;<form&nbsp;name="form1"&nbsp;method="post"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<table> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tr> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td>Username</td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td><input&nbsp;type="text"&nbsp;name="text"></td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tr> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tr> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td>Password</td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td><input&nbsp;type="password"&nbsp;name="pwd"></td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tr> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tr> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td><input&nbsp;type="submit"&nbsp;value="SignIn"&nbsp;name="submit"></td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tr> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</table> &nbsp;&nbsp;&nbsp;&nbsp;</form></html><?php&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($_POST['submit']))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$v1&nbsp;=&nbsp;"FirstUser"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$v2&nbsp;=&nbsp;"MyPassword"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$v3&nbsp;=&nbsp;$_POST['text']; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$v4&nbsp;=&nbsp;$_POST['pwd']; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($v1&nbsp;==&nbsp;$v3&nbsp;&&&nbsp;$v2&nbsp;==&nbsp;$v4)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['luser']&nbsp;=&nbsp;$v1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['start']&nbsp;=&nbsp;time();&nbsp;//&nbsp;Taking&nbsp;now&nbsp;logged&nbsp;in&nbsp;time. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Ending&nbsp;a&nbsp;session&nbsp;in&nbsp;30&nbsp;minutes&nbsp;from&nbsp;the&nbsp;starting&nbsp;time. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['expire']&nbsp;=&nbsp;$_SESSION['start']&nbsp;+&nbsp;(30&nbsp;*&nbsp;60); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header('Location:&nbsp;http://localhost/somefolder/homepage.php'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"Please&nbsp;enter&nbsp;the&nbsp;username&nbsp;or&nbsp;password&nbsp;again!"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}?>HomePage.php<?php &nbsp;&nbsp;&nbsp;&nbsp;session_start(); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isset($_SESSION['luser']))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"Please&nbsp;Login&nbsp;again"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"<a&nbsp;href='http://localhost/somefolder/login.php'>Click&nbsp;Here&nbsp;to&nbsp;Login</a>"; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$now&nbsp;=&nbsp;time();&nbsp;//&nbsp;Checking&nbsp;the&nbsp;time&nbsp;now&nbsp;when&nbsp;home&nbsp;page&nbsp;starts. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($now&nbsp;>&nbsp;$_SESSION['expire'])&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session_destroy(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"Your&nbsp;session&nbsp;has&nbsp;expired!&nbsp;<a&nbsp;href='http://localhost/somefolder/login.php'>Login&nbsp;here</a>"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{&nbsp;//Starting&nbsp;this&nbsp;else&nbsp;one&nbsp;[else1]?> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!--&nbsp;From&nbsp;here&nbsp;all&nbsp;HTML&nbsp;coding&nbsp;can&nbsp;be&nbsp;done&nbsp;--> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<html> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Welcome&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$_SESSION['luser']; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"<a&nbsp;href='http://localhost/somefolder/logout.php'>Log&nbsp;out</a>"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</html><?php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}?>LogOut.php<?php &nbsp;&nbsp;&nbsp;&nbsp;session_start(); &nbsp;&nbsp;&nbsp;&nbsp;session_destroy(); &nbsp;&nbsp;&nbsp;&nbsp;header('Location:&nbsp;http://localhost/somefolder/login.php');?>

Helenr

这是在一段时间后将用户注销吗?设置会话创建时间(或到期时间),然后检查每个页面上的负载可以处理它。例如:$_SESSION['example']&nbsp;=&nbsp;array('foo'&nbsp;=>&nbsp;'bar',&nbsp;'registered'&nbsp;=>&nbsp;time());//&nbsp;laterif&nbsp;((time()&nbsp;-&nbsp;$_SESSION['example']['registered'])&nbsp;>&nbsp;(60&nbsp;*&nbsp;30))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;unset($_SESSION['example']);}编辑:我觉得你的意思是别的。您可以使用session.gc_maxlifetimeini设置在一定生命周期后删除会话:编辑:&nbsp;ini_set('session.gc_maxlifetime',60 * 30);
随时随地看视频慕课网APP
我要回答