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跨时区(UTC时间)应用解决方案
Jan 11 PHP
实例介绍PHP的Reflection反射机制
Aug 05 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
php使用PDO操作MySQL数据库实例
Dec 30 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
PHP单例模式简单用法示例
Jun 23 PHP
PHP7扩展开发之hello word实现方法详解
Jan 15 PHP
php+laravel依赖注入知识点总结
Nov 04 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 PHP
PHP实现两种排课方式
Jun 26 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
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
Python中包的用法及安装
2020/02/11 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python实现飞船大战
2020/04/24 Python
上海微创软件面试题
2012/06/14 面试题
中餐厅主管的职责范文
2014/02/04 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
施工协议书范本
2014/04/22 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
开展读书活动总结
2014/06/30 职场文书
幼儿园综治宣传月活动总结
2015/05/07 职场文书
保留意见审计报告
2015/06/05 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
Python3 类型标注支持操作
2021/06/02 Python