PHP实现用户认证及管理完全源码_php实例

-- 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 "<br>n<a href="$PHP_SELF">返回</a>\n";  
echo "</font>n";  
exit;  
} else {  
echo "<font size="+1">n";  
echo "Error: Unknown Errorn";  
echo "<br>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 "<br>n<a href="$PHP_SELF">返回</a>\n";  
echo "</font>n";  
exit;  
} else {  
echo "<font size="+1">n";  
echo "Error: Unknown Errorn";  
echo "<br>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 "<br>n<a href="$PHP_SELF">返回</a>\n";  
echo "</font>n";  
exit;  
} else {  
echo "<font size="+1">n";  
echo "Error: Unknown Errorn";  
echo "<br>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 结束--

时间: 2024-08-02 03:44:11

PHP实现用户认证及管理完全源码_php实例的相关文章

PHP用户认证及管理完全源码

<?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; r

PHP实现长文章分页实例代码(附源码)_php实例

当文章内容比较长,为了更好的满足用户体验度,我们将文章内容分页显示处理,而一般分页处理是在后台发布文章的时候就将提交的内容生成多个分页后的静态文件.通过本文结合实例采用php动态将长文章内容进行分页处理. 查看效果演示     源码下载 如何分页 手动分页:一般在编辑内容时加入特殊分页标记,如{pages},提交后,PHP程序会根据分页符处理分页,生成不同的静态页面.这种分页方法分页准确,但是需要人工手动添加分页符,工作量大. 自动分页:PHP程序会根据设置好的分页符将内容进行分页,然后生成不同

简单的php+mysql聊天室实现方法(附源码)_php实例

本文实例讲述了简单的php+mysql聊天室实现方法.分享给大家供大家参考,具体如下: 这里介绍的程序分为 8 个文件: frameset框架页面:index.php 显示聊天室内容页:show.php 用户登陆页面:login.php 用户发言页面:speak.php 数据库配置文件:config.php 页面美化样式:style.css 数据库文件:chat.sql 发言表情包:face/ 分别介绍如下: 一.数据库文件chat.sql如下: SET FOREIGN_KEY_CHECKS=0

PHP+Mysql无刷新问答评论系统(源码)_php实例

自己写的一个评论系统源码分享给大家,包括有表情,还有评论机制.用户名是随机的 针对某一篇文章进行评论 function subcomment() { $data['uid'] = getUserid(); $data['mtype'] = I("post.mtype", 0, 'int'); if ($data['uid'] == '') { echo json_encode(array("code" => -1)); } else { $content =

php 单例模式详细介绍及实现源码_php实例

这篇文章主要介绍了PHP中数据库单例模式的实现代码分享,本文先是讲解了单例模式的一些知识,然后给出了数据库单例模式实现代码. 什么是单例模式 单例模式顾名思义,就是只有一个实例. 作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类我们称之为单例类. 单例模式的要点有三个: 一是某个类只能有一个实例: 二是它必须自行创建这个实例: 三是它必须自行向整个系统提供这个实例.  为什么要使用PHP单例模式? 1.php的应用主要在于数据库应用.所以一个

落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码_php实例

绝对原创   测试地址: http://www.mlmm.cn/mypage/?name=ceshi 测试页代码: 复制代码 代码如下: <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  <title>php+ajax动态生成下拉菜单</title>  <script lang

一个简单的PHP投票程序源码_php实例

分析:  我们利用一个文件(data.dat)来存储投票栏目.每个栏目占据一行.  这样一来,便可随意加入和减去想要投票的栏目.  我们再利用一个文件(votes.dat)来存储我们的投票结果.  并纪录最近一位投票者的IP地址,简单的防止一人多投.  所以,您应该在该程序目录下自行建立两个文件data.dat和votes.dat  程序运行过程部分  程序运行时应该先有一个投票的HTML表单,等待投票.  当有人在HTML表单上投票时,判断它的IP是否为最近一位投票者的IP,  如果此人刚刚投

php在线打包程序源码_php实例

实现打包功能~轻松方便!压缩比虽比winrar差那么一点 但是也没啥关系 毕竟只打包做下载 省下了自己去服务器上把站点打包 如果服务器不是自己的就更麻烦了 要让别人帮忙打下包 复制代码 代码如下: <?php     //php压缩目录成zip包     //作者:小锋       $button=$_POST['button'];     if($button=="开始打包")     {         $zip = new ZipArchive();         $fi

与派WebMAIL-RTC-MEET-OA-EIP-CMS(邮局-实时通讯-视频会议-办公自动化-信息门户-内容管理)下载源码www.yupai.net

问题描述 与派办公技术支持网技术支持网http://www.yupai.net(WebMAIL-RTC-MEET-OA-EIP邮局-实时通讯-视频会议-办公自动化-信息门户)基于WindowsServer.ActiveDirectory.ExchangeServer.SharepointServer.CommunicationsServer.LiveMeeting技术,致力于办公自动化系统OA.实时通讯RTC.视频会议MEET.工作流WORKFLOW.企业邮局MAIL.企业信息门户EIP.内容管