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无限分类的类
Jan 02 PHP
php为什么选mysql作为数据库? Mysql 创建用户方法
Jul 02 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
php设计模式之单例模式使用示例
Jan 20 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
php实现转换ubb代码的方法
Jun 18 PHP
PHP数组实例详解
Jun 26 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 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
Windows下的PHP5.0详解
2006/11/18 PHP
PHP 中文处理技巧
2010/04/25 PHP
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
前端设计师们最常用的JS代码汇总
2016/09/25 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
对angular 实时更新模板视图的方法$apply详解
2018/10/09 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
电子商务毕业生求职信
2013/11/10 职场文书
建筑施工员岗位职责
2013/11/26 职场文书
银行存款证明样本
2014/01/17 职场文书
副厂长岗位职责
2014/02/02 职场文书
计划生育标语
2014/06/23 职场文书
禁止酒驾标语
2014/06/25 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
工程质检员岗位职责
2015/04/08 职场文书
开天辟地观后感
2015/06/09 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android
python实现简单聊天功能
2021/07/07 Python