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 相关文章推荐
杏林同学录(八)
Oct 09 PHP
ThinkPHP中ajax使用实例教程
Aug 22 PHP
PHP安装memcached扩展笔记
May 28 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
PHP实现文件上传下载实例
Oct 18 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 PHP
Bootstrap+PHP实现多图上传功能实例详解
Apr 08 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
中东人咖啡哲学
2021/03/03 咖啡文化
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
告诉大家什么是JSON
2008/06/10 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
JavaScript定时器使用方法详解
2020/03/26 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
Python实现基于HTTP文件传输实例
2014/11/08 Python
python 使用get_argument获取url query参数
2017/04/28 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
pycharm安装和首次使用教程
2018/08/27 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
2015年外联部工作总结
2015/04/03 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记