11qq 发表于 2011-3-31 18:25:36

php登陆判断语句-求助

<?php
require_once('../cfg.php');
require_once(SITEROOT . '/common/function.php');

$act=f("act","g");

if($act=='login') {
        $sqlArr=array (
                'asql' =>
                array (
                        'type' => 'select',
                        'tbl' => 'admin',
                        'fld' => 'userName,pwd',
                        'where' =>
                        array (
                                'userName' => array(),
                                'pwd' => array(),
                        )
                ),
                'stmt' =>
                array (
                        'userName' => f('userName'),
                        'pwd' => f('pwd'),
                ),
        );
        $rs=exeCmd($sqlArr,'array');
        if(count($rs)==0) {
                $msg='密码或者用户名错误,请重新输入';
                $reUrl=$g_reUrl;
        }else{
                loginSession($rs['userName'],$rs['pwd'],0);
                $msg='';
                $reUrl='index.php';
        }
        echo alert(array('msg'=>$msg,'reUrl'=>$reUrl));
}
?>
<!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" xml:lang="zh" lang="zh" dir="ltr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>后台管理</title>
                <link rel="stylesheet" href="css/common.css" type="text/css" />
                <style type="text/css">
                #logo{height:74px;}
                #dForm .form{border-left:1px #8DA0AE solid;border-right:1px #8DA0AE solid;height:180px;}
                #dForm .bTop{height:74px;background:url(images/login.png) no-repeat -7px -2px;}
                #dForm .bTop .fr{width:12px;height:74px;background:url(images/login.png) no-repeat -960px -2px;float:right;}
                #dForm .bbot{height:12px;background:url(images/login.png) no-repeat -7px -73px;}
                #dForm .bbot .fr{width:12px;height:12px;background:url(images/login.png) no-repeat -960px -73px;float:right;}
                .inp{border:1px #0F5A93 solid;}
                .formTbl th{color:#333;font-size:14px;letter-spacing:6px;}
                .formTbl .btn{border:0;width:116px;height:42px;background:url(images/login.png) no-repeat -9px -99px;color:white;font-size:14px;}
                </style>
</head>
<body>
        <div class="container_24">
                <div id="logo" class="grid_24"></div>
                <div id="dForm" class="grid_24">
                        <div class="bTop"><div class="fr"></div></div>
                        <div class="form">
                        <form action="?act=login" method="post">
                                <table class="formTbl" align="center" width="700">
                                        <tr>
                                                <th>用户名:</th>
                                                <td><input type="text" name="userName" class="inp" size="50"/></td>
                                        </tr>
                                        <tr>
                                                <th>密码:</th>
                                                <td><input type="password" name="pwd" class="inp" size="50"/></td>
                                        </tr>
                                        <tr>
                                                <th></th>
                                                <td><input type="submit" class="btn" value="Login"/></td>
                                        </tr>
                                </table>
                        </form>
                        </div>
                        <div class="bbot"><div class="fr"></div></div>
                </div>
        </div>
</body>
</html>这个语句,在不输入用户名和密码可以直接登陆,请问应该如何修改语句?

jacksoking 发表于 2011-3-31 22:33:59

是不是要設定 session

skycms 发表于 2011-4-1 22:19:43

session 的默认时间不太好,大型网站不要用这个,都知道。。。同时用的人多了 就。。。

mslxd 发表于 2011-4-2 14:44:53

搞的真复杂

84host 发表于 2011-4-2 17:51:24

1:首先判断输入用户和密码是否为空(可以用JS节约资源)
2:如果检查正确写入cookie

3:在后台所有文件开头做个cookie判断防止非法登陆(可以自定义cookie字段这样更安全)

简单的登陆都这样.

[ 本帖最后由 84host 于 2011-4-2 17:52 编辑 ]

84host 发表于 2011-4-2 17:57:34

你这个感觉代码太复杂了点 可以这样if($_post&&$_post==login)
{
执行SQL查询 每个人方法可能不同 我一般先用uname查 然后把查询出的字段值 判断 如果uname=用户名 upass=用户名
{写cookie}else
{
JS提示密码错误.跳转或则其他操作
}
}

11qq 发表于 2011-4-4 20:03:43

原帖由 84host 于 2011-4-2 17:57 发表 http://hostloc.wiki/images/common/back.gif
你这个感觉代码太复杂了点 可以这样if($_post&&$_post==login)
{
执行SQL查询 每个人方法可能不同 我一般先用uname查 然后把查询出的字段值 判断 如果uname=用户名 upass=用户名
{写cookie}else
{
JS提 ...

我不懂php代码,不知道怎样写,你可以写出来吗?
页: [1]
查看完整版本: php登陆判断语句-求助