在页面刷新(php)上从html获取表单数据

Get Form data from html on page refresh(php)

本文关键字:html 上从 获取 表单 数据 php 刷新      更新时间:2023-09-26

我的大学项目又遇到了一个小问题:(

<input type="text" name="timrem" value="" />

这是一个隐藏字段,我希望从中获取数据。

if(isset($_REQUEST['timrem']))
{
    $tim=$_REQUEST['timrem'];
}

这是用于从 timrem 获取值的代码。
变量 timrem 用于初始化页面上的倒计时序列(使用 javascript 实现)

<span id="countdown-1" style="float:right"><?php echo $tim;?>

隐藏字段的值通过实现的 java 脚本计数器动态更改。

sremtime=(parseInt(minRemain*60)) + (parseInt(secsRemain));
document.frmTest.timrem.value=sremtime;

这在提交页面时工作正常,即时间不会从下一页重新开始。但是,当刷新页面时,计时器将重新启动为计时器首次启动时$tim的值。

是否可以在页面刷新时以某种方式获取隐藏输入的值?

另外,请评论为保留下一页所经过的时间而采取的方法。这是一个在线考试项目。

如果需要变量在刷新后保留,则不能依赖从客户端传递回服务器的信息。您唯一可以依赖的信息是与第一个请求一起传递的信息,这显然不包括您的时间。我能想到的最佳解决方案是将您的时间戳存储在服务器上的会话变量中:

session_start();
if(empty($_SESSION['timrem'])) $_SESSION['timrem'] = time(); // set this if it is the first time this page is loaded
$tim = time() - $_SESSION['timrem']; // $tim is now the number of seconds since the page was first loaded in this session

你不需要在客户端和服务器之间来回传递时间来跟踪它,尽管你的javascript可能需要它。

一个好主意可能是在PHP页面或数据库中(对于多个用户)中存储时间戳,并使用它来生成$tim。刷新时传递数据似乎是不可能的,因为没有触发请求。

你在你的

网址中存储一个"目标时间"(剩余的时间倒计时)怎么样? 您甚至可以将其存储在纪元时间中:

myurl.com/stuff.html?target_time=1359553896

这样,当页面刷新时,您仍然随身携带它,您可以计算剩余时间。 如果您不希望它出现在您的 URL 中,您可能会将其隐藏在页面上具有display:none样式的某个地方。

像这样的事情怎么样:

http://jsfiddle.net/QpZcV/1/