首页 > php教程 > php手册 > 正文

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

php中文网
发布: 2016-06-06 19:42:20
原创
1587人浏览过

1.设计mysql的用户表 2.设计文件结构 3.制作后台增加用户的界面 4.对于数据库操作的封装,用来操作数据库的一些方式 5. include.php的制作 (1)用户表的设计 mysql数据库 / 如果用户表user已经存在的话,则删除掉 / DROP TABLE IF EXISTS user ; / !40101 S

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)文件的目录结构
使用php完成一个用户注册以及管理的demo(一)
其中addUser把数据提交到doAdminAction.php页面中,在这个页面中调用core(主干,主要)文件夹里的admin.inc.php中的函数操作与用户有关的操作,lib文件夹里的文件里的函数 mysql.func.php封装了与数据库有关的函数,page.func.php封装了与分页有关的函数(凡是带test的是我自己用来测试的,不用管了(>_ (3)制作后台增加用户的界面

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

效果如图所示使用php完成一个用户注册以及管理的demo(一)
(4)数据库的封装


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

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

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

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


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

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

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

<span>?></span></span>
登录后复制

(5)include.php的制作

.net全诚外卖叫餐(订餐)系统
.net全诚外卖叫餐(订餐)系统

全诚外卖通是全诚团队继“全诚商城”之后以叫餐(预订)为核心的又一力作,或者称之为“特色店铺系统”,系统是基于.net2.0 + SQL构架、B/s框架的多用户店铺管理系统;外卖通的开发旨在以商家和消费者为服务对象,借以二者相互依存的关系,以互动的形式成就全诚外卖通一个完善的WEB系统平台,在这个平台里,商家可以扩大销售

.net全诚外卖叫餐(订餐)系统 0
查看详情 .net全诚外卖叫餐(订餐)系统
<span><span><?php</span>
header(<span>"content-type:text/html;charset=utf-8"</span>);
define(<span>"ROOT"</span>,dirname(<span>__FILE__</span>));
<span>//设置包含的路径,之后引入的文件路径都在这里</span>
set_include_path(<span>"."</span>.PATH_SEPARATOR.ROOT.<span>"/lib"</span>.PATH_SEPARATOR.ROOT.<span>"/configs"</span>.PATH_SEPARATOR.ROOT.<span>"/core"</span>.PATH_SEPARATOR);
<span>//引入文件</span>
<span>require_once</span> <span>'mysql.func.php'</span>;
<span>require_once</span> <span>'page.func.php'</span>;
<span>require_once</span> <span>'test.func.php'</span>;
<span>require_once</span> <span>'admin.inc.php'</span>;
<span>require_once</span> <span>'configs.php'</span>;
connect();<span>//连接数据库</span>
<span>?></span></span>
登录后复制

之后在其他的代码中如果需要以上的部分,再开头加一句
require_once ‘../include.php’;

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号