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文本数据库的搜索方法
Oct 09 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
PHP开启gzip页面压缩实例代码
Mar 11 PHP
php cookie使用方法学习笔记分享
Nov 07 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 PHP
php数组添加元素方法小结
Dec 20 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
深入理解php printf() 输出格式化的字符串
May 23 PHP
php实现的mysqldb读写分离操作类示例
Feb 07 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 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
基于Zend的Captcha机制的应用
2013/05/02 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
PHP数组函数知识汇总
2016/05/12 PHP
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
用python代码做configure文件
2014/07/20 Python
Python模拟登录12306的方法
2014/12/30 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
分享Python字符串关键点
2015/12/13 Python
Python连接数据库学习之DB-API详解
2017/02/07 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
python多线程同步实例教程
2019/08/11 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
python中id函数运行方式
2020/07/03 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
土木工程毕业生自荐信
2013/09/21 职场文书
高一学生评语大全
2014/04/25 职场文书
七一讲话心得体会
2014/09/05 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
思想工作总结范文
2015/08/12 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python