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 相关文章推荐
phpmyadmin 3.4 空密码登录的实现方法
May 29 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
php中count获取多维数组长度的方法
Nov 03 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
laravel 时间格式转时间戳的例子
Oct 11 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
PHP连接access数据库
2015/03/27 PHP
js验证表单第二部分
2006/11/25 Javascript
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
python抓取网页图片示例(python爬虫)
2014/04/27 Python
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
python利用正则表达式提取字符串
2016/12/08 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
中学生差生评语
2014/01/30 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
JavaScript组合继承详解
2021/11/07 Javascript
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android