php连接mysql实例之新用户注册实现

集成开发环境:XAMPP+自己装的mysql- 8.0.11,编译器PHPstorm
功能分析:

  1. 首先想要实现注册功能首先必须要有一个可视化的表单—-包含用户名,密码,重复密码等;
  2. 其次我们要将注册的用户信息存储起来,所以还需要用到mysql数据库;
  3. 最后需要一个浏览器来可视化表单以及PHP执行的结果。

    创建表单的HTML代码如下:

<html>
<head>
    <meta charset="utf-8" />
    <title>用户注册title>
head>
<body>
<form action="connect.php" method="post">
    用户名:<input type="text" name="username"> <br />
    密码:<input type="password" name="password"> <br />
    重复密码:<input type="password" name="repassword"> <br />
    <input type="submit" value="提交">
form>>
body>
html>

其中 connect.php 为处理表单数据的PHP文件。表单可视化效果结果如下:
效果如下:
php连接mysql实例之新用户注册实现_第1张图片

有了可视化的表单以后,就要考虑数据存储的问题了。加入我们要将用户的信息存储到user表中,我们首先得在数据库中创建user表。代码如下:

CREATE TABLE `user` (

  `id` int(32) NOT NULL AUTO_INCREMENT,

  `username` varchar(30) DEFAULT NULL,

  `password` varchar(32) DEFAULT NULL,

  `createtime` int(80) DEFAULT NULL,

  `createip` varchar(60) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

显示user表的各个字段属性:
php连接mysql实例之新用户注册实现_第2张图片

接下来就是connect.php文件的编写了:


/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/6/13
 * Time: 19:52
 */


if (trim($_POST['password']) != trim($_POST['repassword'])) {

    exit('两次密码不一致,请返回上一页');

}

$username = trim($_POST['username']);

$password = md5(trim($_POST['password']));

$time = time();

$ip = $_SERVER['REMOTE_ADDR'];

$conn = mysqli_connect('localhost', 'root', 'password');      

//如果有错误,存在错误号
if (mysqli_errno($conn)) {

    echo mysqli_error($conn);

    exit;
}

mysqli_select_db($conn, 'test');   //选择数据库

mysqli_set_charset($conn, 'utf8');   //选择字符集

$sql = "insert into user (username,password,createtime,createip) values('$username','$password', '$time' ,'$ip' )";

$result = mysqli_query($conn, $sql);

if ($result) {
    echo '成功';
} else {
    echo '失败';

}

echo '当前用户插入的ID为' . mysqli_insert_id($conn);

mysqli_close($conn);

?>

注册一个用户试试:
这里写图片描述
点击提交会提示注册成功。
我们在数据I库中查询一下我们刚刚注册的用户信息(id,用户名,密码注册时间,注册ip)
这里写图片描述
可以看到在user表中已经存在刚才注册的信息了。
大功告成!

注意
1.在进行试验时请确保你打开了Apache的服务器;
2.在连接数据库时如果有类似报错—mysqli_real_connect(): The server requested authentication method unknown to the client [sha256_password] 请登录自己的mysql,运行如下代码:(本人在试验时就遇到这个坑了)

> use mysql  
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';  
> FLUSH PRIVILEGES;     

本人也是自学的新手,如果有什么错误,烦请各位批评指正,谢谢。

你可能感兴趣的:(web学习)