转载:用PHP写的简单登陆首页

需要事先在MySQL建立好数据库,存储有相关的用户信息,这个工作很简单,所以我的代码也没必要面面具到,只是大概说一下自己的登陆方法就可以。如果觉得我PHP菜鸟,请不要笑,我至今都还没有看过一点关于PHP的书籍呢!用都是最简单的语法,跟C一样,如果哪方面不懂就baidu一下就OK了。login.php里有完整的html代码,我当时设置了两种颜色的登陆界面,通过点击页面的某个地方就提交切换颜色,我这里的颜色切换还是用到php来判断输出颜色的(当然也可以用javascript来实现)。 ////////////// login.php

<?
include("./config.php");
if ($_POST['login']) {
    /* 默认登陆失败 */
    $login_status = "Failure";
    $login_name = $_POST['login_name'];
    $login_pass = $_POST['login_pass'];
    $md5_pass = md5($login_pass);
    /* 从数据库中获取用户信息做对比 */
    $query = "select utype, realname from users where username='$login_name' and password='$md5_pass'";
    if ($result = mysqli_query($link, $query)) {
        if ($row = mysqli_fetch_row($result)) {
            $login_status = "Success";
            $utype = $row[0];
            $realname = $row[1];
            if ($realname == "") {
                $realname = $login_name;
            }
        } else {
            if ($thisStyle) {
                $error_message = "密码错误,请重新输入!";
            } else {
                $error_message = "用户名或密码错误,请重新输入!";
            }
        }
        mysqli_free_result($result);
    } else {
        $error_message = "未知错误!请通知系统管理员!";
    }
    /* 记录登陆日志 */
    $client_ip = get_client_ip();
    $query="insert into login_logs (login_name, login_time, login_status, client_ip) values('$login_name', now(), '$login_status', '$client_ip')";
    $result = mysqli_query($link, $query);
    if (!$result) {
        printf("Can't query to MySQL Server. Errorcode: %s ", mysqli_error($link));
        exit();
    }
    mysqli_close($link);
    /* Let me go or not? */
    if ($login_status == "Success") {
        /* 验证成功,开启Session */
        session_start();
        $_SESSION['utype']    = $utype;
        $_SESSION['username'] = $login_name;
        $_SESSION['realname'] = $realname;
        /* 跳转到 main.php */
        echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=main.php\">";
        exit();
    }
}
?>

SnailWarrior信息管理系统

用户名:class="loginInput">

密 码:

记住用户名记住密码

<html>
<head>
<title>登陆首页</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="css/common.css" rel="stylesheet" type="text/css" />
</head>
<?php
if ($_POST['adminLogin'] || ($_POST['login'] && $_POST['loginType'] == "admin")) {
    $thisStyle = 1;
} else {
    $thisStyle = 0;
}
if ($thisStyle) {
    $color       = "#cc0000";
    $font_color  = "white";
 $loginType   = "admin";
    $chgLogin    = "userLogin";
    $chgLoginVal = "用户登陆";
} else {
    $color       = "#ffcc33";
    $font_color  = "red";
 $loginType   = "user";
    $chgLogin    = "adminLogin";
    $chgLoginVal = "管理员登陆";
} 
?>
<body>
<form name="loginForm" method="post" action="<?php echo $PHP_SELF; ?>" >
  <table width="100%"  border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td bgcolor="#5b33d7"> </td>
      <td height="160" bgcolor="#4f33d7"> </td>
      <td bgcolor="#5b33d7"> </td>
    </tr>
    <tr>
      <td width="40%" bgcolor="#4f33d7"> </td>
      <td bgcolor="<?php echo $color ?>" height="210"><table bgcolor="#0000cc" align="center" width="280" cellspacing="0" style="table-layout:fixed">
          <tr bgcolor="<?php echo $color ?>">
            <td width="65" height="20"> </td>
            <td width="215"> </td>
          </tr>
          <tr>
            <td colspan="2" height="10"> </td>
          </tr>
          <tr>
            <td colspan="2" align="center" valign="middle" height="30" class="wbText18">SnailWarrior信息管理系统</td>
          </tr>
          <tr>
            <td colspan="2" align="center" valign="bottom" height="20" style="color:#FFFF00;font:14px;font-weight:bold;"><?php if ($thisStyle) echo "管理员登陆"; else echo "用户登陆"; ?></td>
          </tr>
          <tr>
            <td align="right" class="wbText12">用户名:</td>
   <td><input name="login_name" maxlength="16" <?php if ($thisStyle) echo "value=\"admin\""; else echo "value=\"hoho\""; ?> class="loginInput"></td>
          </tr>
          <tr>
            <td align="right" class="wbText12">密    码:</td>
            <td><input type="password" name="login_pass" maxlength="16" value="123456abcdef" class="loginInput">
            </td>
          </tr>
          <tr>
            <td> </td>
            <td><table cellspacing="0">
                <tr style="color:#FFFF00;font:11px;font-weight:bold;vertical-align:bottom">
      <?php if (!$thisStyle) { ?>
                  <td><input type="checkbox" name="remember_name"></td>
                  <td>记住用户名</td>
      <?php } ?>
                  <td><input type="checkbox" name="remember_pass"></td>
                  <td>记住密码</td>
                </tr>
              </table></td>
          </tr>
          <tr>
            <td> </td>
            <td><table>
                <tr>
                  <td width="70"><input name="login" type="submit" style="height:22px; font:11px; width:60px;" value="登录">
                  </td>
                  <td><input name="<?php echo $chgLogin ?>" type="submit" style="height:22px; font:11px; width:80px;" value="<?php echo $chgLoginVal ?>" >
                  </td>
                </tr>
    <tr><input name="loginType" type="hidden" value="<?php echo $loginType ?>"></tr>
              </table>
          </tr>
          <tr>
            <td height="6"> </td>
          </tr>
          <tr bgcolor="<?php echo $color ?>">
            <td colspan="2" height="20" align="center" style="color:<?php echo $font_color ?>; font:12px;font-weight:bold;"><?php if($error_message) echo $error_message; ?></td>
          </tr>
        </table></td>
      <td width="40%" bgcolor="#4f33d7"> </td>
    </tr>
    <tr>
      <td bgcolor="#5f33d7"> </td>
      <td height="290" bgcolor="#4F33D7"> </td>
      <td bgcolor="#5f33d7"> </td>
    </tr>
  </table>
</form>
</body>
</html>

////////////// config.php

<?php
//error_reporting(0);
header("content-type: text/html; charset=UTF-8");
/* 数据库配置 */
$dbhost = "localhost";
$dbuser = "SnailWarrior";
$dbpass = "SnailPassword";
$dbname = "users";
/* 连接MySQL数据库 */ 
$link = mysqli_connect( 
        $dbhost,   /* The host to connect to */ 
        $dbuser,   /* The user to connect as */ 
        $dbpass,   /* The md5_pass to use */ 
        $dbname);  /* The default database to query */
/* 检查连接 */
if (mysqli_connect_errno()) {
    printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());
    exit();
}
    
/* 设置utf8字符集 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Error loading character set utf8: %s", mysqli_error($link));
}
/* 获取客户端IP */
function get_client_ip() {
 $client_ip = "unknown";
 
 if($_SERVER['HTTP_CLIENT_IP']){
      $client_ip=$_SERVER['HTTP_CLIENT_IP'];
 }elseif($_SERVER['HTTP_X_FORWARDED_FOR']){
      $client_ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
 }else{
      $client_ip=$_SERVER['REMOTE_ADDR'];
 }
 
 return $client_ip;
}
?>

------------------------------------------------------------------------------------------赵小蜗牛QQ: 755721501E-mail: snailwarrior@qq.com在不断奉献中谋求生存发展、打造自己的优秀品质,用人性最本质最动人的一面“营销”自己!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容