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产生随机字符串函数
Dec 06 PHP
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
PHP 中检查或过滤IP地址的实现代码
Nov 27 PHP
php 保留字列表
Oct 04 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
php利用腾讯ip分享计划获取地理位置示例分享
Jan 20 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
PHP批量删除jQuery操作
Jul 23 PHP
php插入mysql数据返回id的方法
May 31 PHP
PHP常用正则表达式精选(推荐)
May 28 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转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
2017/03/05 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
js Math 对象的方法
2013/09/01 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
python生成大写32位uuid代码
2020/03/03 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
玩具反斗城美国官网:Toys"R"Us
2016/09/17 全球购物
GWT都有什么特性
2016/12/02 面试题
大四学年自我鉴定
2013/11/13 职场文书
致800米运动员广播稿
2014/02/16 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
工程催款通知书
2015/04/17 职场文书
雷锋的故事观后感
2015/06/10 职场文书