PHP制作用户注册系统


Posted in PHP onOctober 23, 2015

到目前为止,你已经了解了足够多的PHP了。该写个小程序练手了。

用户注册系统

写一个index.php页面,有用户名和密码表单,post提交到check.php,输出用户名和"用户名+密码"的md5值
本地建立一个mysql数据库,名叫segmentfault,建立一个表user,字段username password将上题check.php接收到的内容存入
我们先完成HTML部分:

<!DOCTYPE HTML>
<html>

<head>
<title>注册</title>
</head>

<body>

<h1>注册</h1>

<form action="check.php" enctype="application/x-www-form+xml" method="post">
 <p>
 <label for="name">邮箱</label>
 <input name="name" required type="email" placeholder="请填写有效邮箱"></input>
 </p>
 <p>
 <label for="passphrase">密码</label>
 <input name="passphrase" required type="passphrase"></input>
 </p>
 <p>
 <input type="submit" value="提交"></input>
</form>


</body>

</html>

注意,HTML5对表单的支持比以往版本的HTML好很多,可以直接指明各种type。比如制定了type="email",会检验用户提交的邮件地址是否合法。

然后是check.php。

<!DOCTYPE>

<html>

<head>
<title> 注册成功!</title>
</head>

<body>
<h1> 哇咔咔,你已经注册成功啦!</h1>

<p>呃……不过注册成功了好像也没什么用,因为本网站除了注册以外好像没有其他功能。</p>
<p>那么,作为补偿,我会告诉你,你的“邮箱+密码”的md5值。</p>
<p>你的邮箱是:

下面是PHP部分,直接嵌入HTML,这是PHP的优势:

<?php 
$username = htmlspecialchars($_POST["name"]);
echo $username;
?>
</p>
<p>你的“邮箱+密码”的md5值是:
<?php
$passphrase = htmlspecialchars($_POST["passphrase"]);
$md5sum = md5($username . $passphrase);
echo $md5sum;

注意我们用了htmlspecialchars,避免用户填入奇怪的东西。

然后是数据库操作,我们使用mysqli,(mysql已经废弃了,现在推荐用 mysqli,当然你也可以用 PDO。)

首先我们指明数据库的一些信息:

$db_server = "localhost";
$db_user = "db_user";
$db_pass = "password";
$db_name = "segmentfault";

连接到数据库,并且确保连接正常:

$conn = new mysqli($db_server, $db_user, $db_pass, $db_name);

if (mysqli_connect_errno()) {
 trigger_error("Database connection failed: " . mysqli_connect_error(), E_USER_ERROR);
}

使用SQL语句创建表

$sql = "CREATE TABLE user(username CHAR(140), password CHAR(140))";

添加记录

mysqli_query($conn, "INSERT INTO user (username, password) VALUES ($username, $md5sum)");

手写SQL不太爽,实际应用中,框架会为你提供各种方便。

关闭数据库:

mysqli_close($conn);

?>
</p>
</body>

</html>

好了,我们已经成功地写好了一个小应用,也顺带学习了如何访问 MySQL 数据库。今天就到这里了。

PHP 相关文章推荐
一段php加密解密的代码
Jul 16 PHP
php开发工具之vs2005图解
Jan 12 PHP
PHP 数组基础知识小结
Aug 20 PHP
php教程 插件机制在PHP中实现方案
Nov 02 PHP
php导出excel格式数据问题
Mar 11 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
ThinkPHP静态缓存简单配置和使用方法详解
Mar 23 PHP
PHP实现找出链表中环的入口节点
Jan 16 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 PHP
Laravel框架中集成MongoDB和使用详解
Oct 17 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 #PHP
PHP中文竖排转换实现方法
Oct 23 #PHP
浅谈php7的重大新特性
Oct 23 #PHP
php数字每三位加逗号的功能函数
Oct 22 #PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
Oct 22 #PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 #PHP
PHP实现无限级分类(不使用递归)
Oct 22 #PHP
You might like
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
axios如何取消重复无用的请求详解
2019/12/15 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
python time模块用法实例详解
2014/09/11 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
CSS3实例分享--超炫checkbox复选框和radio单选框
2014/09/01 HTML / CSS
彪马加拿大官网:PUMA加拿大
2018/10/04 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
平民服装店创业计划书
2014/01/17 职场文书
四川成都导游欢迎词
2014/01/18 职场文书
关于环保的建议书400字
2014/03/12 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
国旗下演讲稿
2014/05/08 职场文书
电力培训心得体会
2014/09/02 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
企业年会祝酒词
2015/08/11 职场文书
python 逐步回归算法
2021/04/06 Python
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA