php中在一个php文件调用另一个php的函数,保存登录时保存的用户id

时间:2022-06-01 18:04:02

login.php部分代码,引用common.php,调用其方法,显示保存过的id

<?php 
require_once 'common.php';
?>
<html>
<head>
<meta
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<h1>管理员登陆系统</h1>
<form action="doLogin.php" method="post">
<table>
<tr><td>用户ID</td><td><input type="text" name="id" value="<?php echo getCookieVal('id'); ?>" /></td></tr>
<tr><td>密  码</td><td><input type="text" name="password" /></td></tr>
<tr><td colspan="2"><input type="checkbox" name="keep" value="keep"/>是否保存用户ID</td></tr>
<tr><td><input type="submit" value="用户登录"/></td><td><input type="reset" value="重新填写"/></td></tr>
</table>
</form>
<?php
//接收errno,先判断errno是否为空,当用户第一次到登录页面的时候error是空的,没有错误提示
if(!empty($_GET['errno'])){
$errno=$_GET['errno'];
//判断errno的值是多少,根据不同的值提示不同的错误信息
if($errno==1){
echo "<font color='red' size='3'>用户ID或密码错误</font>";
exit();
}elseif ($errno==2){
echo "<font color='red' size='3'>该用户未注册,请重新登录</font>";
exit();
}elseif ($errno==3){
echo "<font color='red' size='3'>没查询到数据</font>";
exit();
}
}
?>
</body>
</html>

doLogin.php部分代码,判断是否保存了用户id

<?php
require_once 'AdminService.class.php';
//接收表单传递过来的值
$id=$_POST['id'];
$password=$_POST['password'];


//判断用户是否选中了保存Id
if(empty($_POST['keep'])){
//如果没有选择保存,还要判断cookie中是否存有id(该用户是否曾经保存过id),有的话就将id清除
if(!empty($_COOKIE["id"])){
setcookie("id",$id,time()-100);
}
}else{
//将获取到的页面传递过来的id存到cookie中,一般保存两周
setcookie("id",$id,time()+7*2*24*3600);

}

common.php部分代码,写一个函数方便在页面input中调用函数,获取保存的id

<?php
function getLastTime(){
if(!empty($_COOKIE['lastVist'])){
date_default_timezone_set('Asia/Chongqing');
echo "上次登录时间是".$_COOKIE['lastVist'];
//更新时间
setcookie("lastVist",date("Y-m-d H:i:s"),time()+24*3600*30);
}else{
//说明该用户是第一次登录
echo "你是第一次登录";
//更新时间
date_default_timezone_set('Asia/Chongqing');
setcookie("lastVist",date("Y-m-d H:i:s"),time()+24*3600*30);
}
}

//利用小函数方便在login.php中直接调用该函数返回的结果
function getCookieVal($key){
if(empty($_COOKIE[$key])){
return "";
}else{
return $_COOKIE[$key];
echo $_COOKIE[$key];
exit();
}
}

一开始在input中调用该函数的时候一直出错,找不到该函数,发现是common.php中函数写错位置了后面的大括号是上一个函数的括号,所以一直报错找不到该函数,调试的时候也一直调试不出来,还好最后解决了,仅此一记避免下次出错