您的位置:首页 > 编程语言 > PHP开发

使用php完成一个用户注册以及管理的demo(一)

2015-02-11 15:35 537 查看
1.设计mysql的用户表

2.设计文件结构

3.制作后台增加用户的界面

4.对于数据库操作的封装,用来操作数据库的一些方式

5. include.php的制作

(1)用户表的设计 mysql数据库

/如果用户表user已经存在的话,则删除掉/

DROP TABLE IF EXISTS
user
;

/!40101 SET @saved_cs_client = @@character_set_client /;

/!40101 SET character_set_client = utf8 /;

CREATE TABLE
user
(

id
int(10) unsigned NOT NULL AUTO_INCREMENT,

username
varchar(20) NOT NULL,

password
char(32) NOT NULL,

sex
enum(‘男’,’女’,’保密’) NOT NULL DEFAULT ‘保密’,

email
varchar(50) NOT NULL,

face
varchar(50) NOT NULL,

/注册时间/

regTime
int(10) unsigned NOT NULL,

/活跃程度/

activeFlag
tinyint(1) DEFAULT ‘0’,

PRIMARY KEY (
id
),

/用户名不允许重复/

UNIQUE KEY
username
(
username
)

)

/自增长从编号6开始,默认编码为utf-8/

ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

(2)文件的目录结构



其中addUser把数据提交到doAdminAction.php页面中,在这个页面中调用core(主干,主要)文件夹里的admin.inc.php中的函数操作与用户有关的操作,lib文件夹里的文件里的函数 mysql.func.php封装了与数据库有关的函数,page.func.php封装了与分页有关的函数(凡是带test的是我自己用来测试的,不用管了(>_<))。在php中总是包含其他的文件写起来会很麻烦,利用include.php可以一次包含全部。具体的后边再说。

(3)制作后台增加用户的界面

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<H3>添加管理员</H3>
<FORM  action="doAdminAction.php?act=addUser" method="post">
<TABLE width="60%" border="1" cellpadding="5" cellspacing="0" bgcolor="#cccccc">
<tr>
<TD align="right">用户名称</TD>
<TD><input type="text" name="username" placeholder="请输入用户名称"/></TD>
</tr>
<tr>
<TD align="right">用户密码</TD>
<TD><input type="text" name="password" placeholder="请输入用户名称"/></TD>
</tr>
<tr>
<TD align="right">用户邮箱</TD>
<TD><input type="text" name="email" placeholder="请输入用户名称"/></TD>
</tr>
<tr>
<td align="right">性别</td>
<td><input type="radio" name="sex" value="1" checked="checked"/>男
<input type="radio" name="sex" value="2" />女
<input type="radio" name="sex" value="3" />保密
</td>
</tr>
<tr>
<td align="right">头像</td>
<td><input type="file" name="face" /></td>
</tr>
<tr>
<TD colspan="2"><input type="submit" value="添加用户"/></TD>
</tr>
</FORM>
</body>
</html>


效果如图所示


(4)数据库的封装

<?php
/**
* 连接数据库
* @return resource
*/
function connect(){
$link=mysql_connect(DB_HOST,DB_USER,DB_PWD) or die("数据库连接失败Error:".mysql_errno().":".mysql_error());
mysql_set_charset(DB_CHARSET);
mysql_select_db(DB_DBNAME) or die("指定数据库打开失败");
return $link;
}

/**
* 完成记录插入的操作
* @param string $table
* @param array $array
* @return number
*/
function insert($table,$array){
$keys=join(",",array_keys($array));
$vals="'".join("','",array_values($array))."'";
$sql="insert {$table}($keys) values({$vals})";
mysql_query($sql);
return mysql_insert_id();
}
//update imooc_admin set username='king' where id=1
/**
* 记录的更新操作
* @param string $table
* @param array $array
* @param string $where
* @return number
*/
function update($table,$array,$where=null){
foreach($array as $key=>$val){
if($str==null){
$sep="";
}else{
$sep=",";
}
$str.=$sep.$key."='".$val."'";
}
$sql="update {$table} set {$str} ".($where==null?null:" where ".$where);
$result=mysql_query($sql);
//var_dump($result);
//var_dump(mysql_affected_rows());exit;
if($result){
return mysql_affected_rows();
}else{
return false;
}
}

/**
*  删除记录
* @param string $table
* @param string $where
* @return number
*/
function delete($table,$where=null){
$where=$where==null?null:" where ".$where;
$sql="delete from {$table} {$where}";
mysql_query($sql);
return mysql_affected_rows();
}

/**
*得到指定一条记录
* @param string $sql
* @param string $result_type
* @return multitype:
*/
function fetchOne($sql,$result_type=MYSQL_ASSOC){
$result=mysql_query($sql);
$row=mysql_fetch_array($result,$result_type);
return $row;
}

/**
* 得到结果集中所有记录 ...
* @param string $sql
* @param string $result_type
* @return multitype:
*/
function fetchAll($sql,$result_type=MYSQL_ASSOC){
$result=mysql_query($sql);
while(@$row=mysql_fetch_array($result,$result_type)){
$rows[]=$row;
}
return $rows;
}

/**
* 得到结果集中的记录条数
* @param unknown_type $sql
* @return number
*/
function getResultNum($sql){
$result=mysql_query($sql);
return mysql_num_rows($result);
}

/**
* 得到上一步插入记录的ID号
* @return number
*/
function getInsertId(){
return mysql_insert_id();
}

?>


(5)include.php的制作

<?php
header("content-type:text/html;charset=utf-8");
define("ROOT",dirname(__FILE__));
//设置包含的路径,之后引入的文件路径都在这里
set_include_path(".".PATH_SEPARATOR.ROOT."/lib".PATH_SEPARATOR.ROOT."/configs".PATH_SEPARATOR.ROOT."/core".PATH_SEPARATOR);
//引入文件
require_once 'mysql.func.php';
require_once 'page.func.php';
require_once 'test.func.php';
require_once 'admin.inc.php';
require_once 'configs.php';
connect();//连接数据库
?>


之后在其他的代码中如果需要以上的部分,再开头加一句

require_once ‘../include.php’;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐