处理的页面index.php
index.php的参数tp
index.php?tp=login表示的处理登录的表单
index.php?tp= 或者index.php tp没有设置,那么就引入login.htm文件。
index.php?tp=logout的时候就处理退出。
index.php文件全部源码如下:<?php
$dir="../";
require $dir.'global.php';$tpl=$dir.tpl.'admin/';//../templates/new/admin/$pagetitle="管理员登录";
$pagekw="管理员登录";
$pagedesc="";$tp=$_GET[tp];/*
Array
(
[name] => admin
[psw] => admin
)
*/
switch($tp){
case '':
include $tpl.'login.htm';
break;
case 'login':
$name=trim($_POST[name]);
$psw=trim($_POST[psw]);
if($name=='' || $psw==''){
$msg='请先将表单填写完整';
$url='index.php';
echo jump_quick($url,$msg);
exit();
}
$psw=md5($psw);
$SQL="SELECT * FROM url_user a
WHERE `name` LIKE '$name' AND `psw` LIKE '$psw'
LIMIT 0 , 1;";
$login=new sDB();
$row=$login->select($SQL);
if($row!=false){
$_ID=$row[id];
$_name=$row[name];
$_psw=$row[psw];
$_tp=$row[tp];//用户类型
$_lastlogin=$row[lastlogin];//上次登录时间
$_logincount=$row[logincount]+1;
//更新上次登录时间和登录次数
$SQL_up="UPDATE `url_user`
SET `logincount` = `logintcount`+ 1 ,
`lastlogin` = UNIX_TIMESTAMP()
WHERE `id` ='$_ID'
LIMIT 1 ;";
$login->update($SQL_up);
$msg='登录成功!\\n下面进入控制面板';
$url='admincp.php';
$CookieTime=time()+3600*8;
setCookie('userID',$_ID,$CookieTime);
setCookie('userName',$_name,$CookieTime);
setCookie('userType',$_tp,$CookieTime);
setCookie('userLstlogin',$_lastlogin,$CookieTime);
/*session_start();
$_SESSION[admin]=array(
'ID'=>$_ID,
'name'=>$_name,
'tp'=>$_tp,
'lstlogin'=>$_lastlogin,
'logintcount'=>$_logincount
);
*/
}else{
$msg='登录失败!\\n用户或者密码错误!';
$url='index.php';
}
echo jump_quick($url,$msg);
break;
case 'logout':
break;
default:
include $tpl.'login.htm';
break;
}
?>
大家顺便评价一下我这样编程方法怎么样?如何编程才更好?
index.php的参数tp
index.php?tp=login表示的处理登录的表单
index.php?tp= 或者index.php tp没有设置,那么就引入login.htm文件。
index.php?tp=logout的时候就处理退出。
index.php文件全部源码如下:<?php
$dir="../";
require $dir.'global.php';$tpl=$dir.tpl.'admin/';//../templates/new/admin/$pagetitle="管理员登录";
$pagekw="管理员登录";
$pagedesc="";$tp=$_GET[tp];/*
Array
(
[name] => admin
[psw] => admin
)
*/
switch($tp){
case '':
include $tpl.'login.htm';
break;
case 'login':
$name=trim($_POST[name]);
$psw=trim($_POST[psw]);
if($name=='' || $psw==''){
$msg='请先将表单填写完整';
$url='index.php';
echo jump_quick($url,$msg);
exit();
}
$psw=md5($psw);
$SQL="SELECT * FROM url_user a
WHERE `name` LIKE '$name' AND `psw` LIKE '$psw'
LIMIT 0 , 1;";
$login=new sDB();
$row=$login->select($SQL);
if($row!=false){
$_ID=$row[id];
$_name=$row[name];
$_psw=$row[psw];
$_tp=$row[tp];//用户类型
$_lastlogin=$row[lastlogin];//上次登录时间
$_logincount=$row[logincount]+1;
//更新上次登录时间和登录次数
$SQL_up="UPDATE `url_user`
SET `logincount` = `logintcount`+ 1 ,
`lastlogin` = UNIX_TIMESTAMP()
WHERE `id` ='$_ID'
LIMIT 1 ;";
$login->update($SQL_up);
$msg='登录成功!\\n下面进入控制面板';
$url='admincp.php';
$CookieTime=time()+3600*8;
setCookie('userID',$_ID,$CookieTime);
setCookie('userName',$_name,$CookieTime);
setCookie('userType',$_tp,$CookieTime);
setCookie('userLstlogin',$_lastlogin,$CookieTime);
/*session_start();
$_SESSION[admin]=array(
'ID'=>$_ID,
'name'=>$_name,
'tp'=>$_tp,
'lstlogin'=>$_lastlogin,
'logintcount'=>$_logincount
);
*/
}else{
$msg='登录失败!\\n用户或者密码错误!';
$url='index.php';
}
echo jump_quick($url,$msg);
break;
case 'logout':
break;
default:
include $tpl.'login.htm';
break;
}
?>
大家顺便评价一下我这样编程方法怎么样?如何编程才更好?
我的里面在setCookie根本就没有输出的啊。
我的里面在setCookie根本就没有输出的啊。
---------------------------------------
还是不行的啊,
我的里面在setCookie之前根本就没有输出的啊。
header。
从手册上看,你这个
除了函数名要改成setcookie之外,最好变量名用“”。
再就是你输出一下setcookie的返回值,虽然他不代表能否成功,但至少可以看他报不报错。
还有就是,你如何认为自己失败了,你是怎么使用的,这里只有你设置的代码。