今天写了一个简单的网页计时工具,工具是这样的
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta name="keywords" content=" keywords" />
<meta name="description" content="description" />
</head>
<body>
<form method="post" action="">
<input type="submit" name="start" value="start">
<input type="submit" name="stop" value="stop">
</form>
<script type="text/javascript">
<!--
//-->
</script>
</body>
</html>
<?php
session_start();
if(!isset($_POST['start'])&&!isset($_POST['stop'])){
return;
}
if(isset($_POST['start'])&&$_POST['start']=='start'){
$a = strtotime('now');
$_SESSION['time'] = $a;
}
if(isset($_POST['stop'])&&$_POST['stop']==='stop'){
if(!isset($_SESSION['time'])){
echo '<script type="text/javascript">alert("亲,您还没开始呢~~~");</script>';
return;
}
session_save_path('session');
$time = strtotime('now')-$_SESSION['time'];
echo $time;
session_destroy();
}
?>
编写这段代码中出现了一些小问题,记之、享之~~
1、SESSION问题:这是一个网页提交式的计时器,所以每次提交后SESSION都会发生改变,起初我将session_start放在第二个if中,导致 STOP时出现没有定义$_SESSION['time']的错误;再有就是session_destroy放在最后一个if外,也会发生类似的错误,从这里可以看出,session的生命周期应该随着脚本的运行,脚本不停止,不能destroy
2、strtotime()函数能够将时间转换为UNIX时间戳,功能和模块time() 是类似的,只是参数不同而已