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中的Class的几点个人看法
Oct 09 PHP
PHP 引用是个坏习惯
Mar 12 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
PHP file_exists问题杂谈
May 07 PHP
header跳转和include包含问题详解
Sep 08 PHP
Codeigniter的一些优秀特性总结
Jan 21 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
详解PHP使用Redis存储session时的一个Warning定位
Jul 05 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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分页函数
2006/07/08 PHP
PHP 在线翻译函数代码
2009/05/07 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
BootStrap中的Fontawesome 图标
2017/05/25 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
Python random模块常用方法
2014/11/03 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
python面向对象 反射原理解析
2019/08/12 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
欧也妮葛朗台读书笔记
2015/06/30 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
深入理解 Golang 的字符串
2022/05/04 Golang
python中filter,map,reduce的作用
2022/06/10 Python
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL