当前位置:首页> PHP教程> PHP代码
关键字
文章内容
php用户认证及管理(完全版)
 
 
修改时间:[2009/11/07 23:11]    阅读次数:[1231]    发表者:[起缘]
 
用户认证及管理(完全版)

作者MAX
-- begin auth.inc --



<?php



$id
= "xxxCOM";



if(!isset($PHP_AUTH_USER)) {

Header
("WWW-Authenticate: Basic realm="$id"");

Header
("HTTP/1.0 401 Unauthorized");

require('error.inc');

exit;

}



$name
= $PHP_AUTH_USER;

$pass
= $PHP_AUTH_PW;

require("connect.inc");

$query
= "select * from auth where username='$name' && realm='$id'";

$result
= mysql_db_query("admin", $query);

if(mysql_num_rows($result) == 0) {



Header
("WWW-Authenticate: Basic realm="$id"");

Header
("HTTP/1.0 401 Unauthorized");

require('error.inc');

exit;

}



$active
= mysql_result($result,0,"active");

if($active == 'no') {



?>

<HTML><HEAD>

<TITLE>404 Not Found</TITLE>

</HEAD><BODY>

<H1>Not Found</H1>

The requested URL

<?
echo $REQUEST_URI; ?>

was not found on this server.
<P>

</BODY></HTML>

<?php

exit;

}

?>



-- end auth.inc --



-- begin connect.inc --



<?php mysql_connect
("localhost", "user", ""); ?>



-- end connect.inc --



-- begin error.inc --



此文件存放错误信息及返回
!



-- end error.inc --



-- 用户库结构(自己调整)--



CREATE TABLE auth
(

id smallint
(6) DEFAULT '0' NOT NULL auto_increment,

username varchar
(16) DEFAULT ' NOT NULL,

lastname tinyblob
,

firstname tinyblob
,

password varchar
(16),

realm varchar
(16),

active char
(3),

PRIMARY KEY
(id),

UNIQUE id
(id),

UNIQUE username
(username)

);



-- 用户库结构结束--



-- 添加用户示例--



insert into auth
(username, lastname, firstname, password, realm, active) values

('admin','my','love','password','xxxCOM','yes');



-- 结束--



--用户管理程序开始 usermanage.php --

<?php
include("auth.inc"); ?>

<?php



if ($PHP_AUTH_USER != "admin") {

Header
("WWW-Authenticate: Basic realm="xxxCOM 客户认证"");

Header
("HTTP/1.0 401 Unauthorized");

echo "Access Denied!n";

exit;

};



if ($PHP_AUTH_PW != "mypassword") {

Header
("WWW-Authenticate: Basic realm="xxxCOM 客户认证"");

Header
("HTTP/1.0 401 Unauthorized");

echo "Access Denied!n";

exit;

};



if ($activate) {



include("connect.inc");

$query1
= "UPDATE auth SET active='yes' where id='$id'";

$result1
= mysql_db_query("admin", $query1);



if ($result1) {

echo "<font size="+1">n";

echo "$user activatedn";

echo "

n<a href="
$PHP_SELF">返回</a>n";

echo "</font>n";

exit;

} else {

echo "<font size="+1">n";

echo "Error: Unknown Errorn";

echo "

n<a href="
$PHP_SELF">返回</a>n";

echo "</font>n";

exit;

}



}



if ($deactivate) {



include("connect.inc");

$query2
= "UPDATE auth SET active='no' where id='$id'";

$result2
= mysql_db_query("admin", $query2);



if ($result2) {

echo "<font size="+1">n";

echo "$user deactivatedn";

echo "

n<a href="
$PHP_SELF">返回</a>n";

echo "</font>n";

exit;

} else {

echo "<font size="+1">n";

echo "Error: Unknown Errorn";

echo "

n<a href="
$PHP_SELF">返回</a>n";

echo "</font>n";

exit;

}



}



if ($delete) {



include("connect.inc");

$query3
= "delete from auth where id='$id'";

$result3
= mysql_db_query("admin", $query3);



if ($result3) {

echo "<font size="+1">n";

echo "$user 已删除!n";

echo "

n<a href="
$PHP_SELF">返回</a>n";

echo "</font>n";

exit;

} else {

echo "<font size="+1">n";

echo "Error: Unknown Errorn";

echo "

n<a href="
$PHP_SELF">返回</a>n";

echo "</font>n";

exit;

}



}



echo "<html>n";

echo "<head>n";

echo "<title>用户管理</title>n";

echo "</head>n";

echo "<body>n";

echo "<form method="post" action="$PHP_SELF">n";

echo "<table border="1">n";

echo "<tr><th><font size="+1">Username</font></th><th><font size="+1">Real

Name</font>

</th><th><font size="
+1">Activated</font></th></tr>n";



include("connect.inc");

$query
= "SELECT * FROM auth";

$result
= mysql_db_query("admin", $query);



if ($result) {

while ($r = mysql_fetch_array($result)) {

$id
= $r["id"];

$username
= $r["username"];

$lastname
= $r["lastname"];

$firstname
= $r["firstname"];

$activated
= $r["active"];

if ($activated == "yes") {

echo "<tr><td><font size="+1">$username</font></td><td><font size="+1">$lastname,

$firstname</font>

</td><td><font size="
+1">$activated</font></td><td>

<a href="
$PHP_SELF?deactivate=yes&id=$id&user=$username">Deactivate</a>

</td><td><a href="
$PHP_SELF?delete=yes&id=$id">Delete</a></td></tr>n";

} elseif ($activated == "no") {

echo "<tr><td><font size="+1">$username</font></td><td><font size="+1">$lastname,

$firstname

</font></td><td><font size="
+1">$activated</font></td><td><a

href="
$PHP_SELF?activate=yes&id=$id">Activate</a>

</td><td><a href="
$PHP_SELF?delete=yes&id=$id">Delete</a></td></tr>n";

}

}

}

mysql_free_result
($result);

echo "</table>n";

echo "</body>n";

echo "</html>n";



?>



-- usermanage.php 结束--