【问题标题】:Session timeout program in php not workingphp中的会话超时程序不起作用
【发布时间】: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


【解决方案1】:

首先我认为你有一个错字

 <form nmethod="post"

方法前多了个“n”,去掉。

当您想使用会话中的任何内容时,您必须使用 start_session() 的第二件事。

【讨论】:

    猜你喜欢
    • 2014-12-05
    • 2016-10-25
    • 2015-09-25
    • 2016-01-21
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多