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 CKEditor 上传图片实现代码
Nov 06 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
基于PHP的登录和注册的功能的实现
Aug 06 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 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
Terran兵种介绍
2020/03/14 星际争霸
php 表单验证实现代码
2009/03/10 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
php图像验证码生成代码
2017/06/08 PHP
php-msf源码详解
2017/12/25 PHP
javascript replace()正则替换实现代码
2010/02/26 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
js 解析 JSON 数据简单示例
2020/04/21 Javascript
python list中append()与extend()用法分享
2013/03/24 Python
详细介绍Python语言中的按位运算符
2013/11/26 Python
详解Python pygame安装过程笔记
2017/06/05 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
Python嵌套列表转一维的方法(压平嵌套列表)
2018/07/03 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
python无序链表删除重复项的方法
2020/01/17 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
中学教师岗位职责
2013/11/26 职场文书
党员领导干部承诺书
2014/05/28 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
2019年教师入党申请书
2019/06/27 职场文书