【发布时间】:2014-04-13 08:38:34
【问题描述】:
我正在学习会话处理,同时在多个 php 页面之间提交表单数据。 举个简单的例子,我有一个 php 表单 myform.php,它要求用户输入密码并指向 myaction.php。我想在用户输入密码之前开始会话。如果他在一分钟内输入密码为1234,则显示“有效”。如果他在 1 分钟后输入密码,则应显示“会话超时”。 这是我的代码不起作用。
myfrom.php
<?php
session_start();
$_SESSION['start'] = time();
$_SESSION['expire'] = $_SESSION['start'] + (01 * 60);
?>
<html>
<form nmethod="post" action="myaction.php">
<input type="text" name="myvalue"/>
<input type="submit" value="SignIn" name="submit1">
</form>
</html>
myaction.php
<?php
if ($_POST['submit1'])
{
$v1 = "1234";
$v2 = $_POST['myvalue'];
$_SESSION['now'] = time();
if ($_SESSION['now'] > $_SESSION['expire'])
{
echo 'Session Timeout!';
header('refresh:05;Location: http://localhost/myform.php');
}
else if(($_SESSION['now'] <= $_SESSION['expire']) && ($v1==$v2))
echo 'Valid Password!';
else
echo 'Invalid password!';
}
?>
我哪里做错了?
【问题讨论】:
-
session_start();上的myaction.php在哪里?
标签: php forms session session-timeout