用 PHP和html做一个简单的注册页面
index.html的设计
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><form action="./in.php" method="post" style="width:220px; margin:300px auto;">用户名:<input type="text" name="username" id="" ><br>密 码:<input type="password" name="password" id=""><br>年 龄:<input type="number" name="age" id=""><br>性 别:<select name="gender" id=""><option value="0">女</option><option value="1">男</option></select><br><input type="submit" name="" id=""></form>
</body>
</html>
in.php
<?php
header('content-type:text/html;charset=utf-8');
$host = "localhost";
$user = "root";
$pass = "";
$db = "mydb";
$mysqli = mysqli_connect($host, $user, $pass, $db);
if (mysqli_connect_errno()) {echo "连接失败" . mysqli_connect_error();
}
$mysqli->set_charset("utf8");//执行读取用户列表
select($mysqli);//注册
insert($mysqli);$mysqli->close();//自定义函数function
function insert($mysqli)
{$sql = "INSERT INTO demo(username,password,age,gender)VALUES(?,?,?,?)";$mysqli_stmt = $mysqli->prepare($sql);$username = $_POST["username"];$password = $_POST["password"];$age = $_POST["age"];$gender = $_POST["gender"];//ssii代表四个字符串,sii代表三个字符串$mysqli_stmt->bind_param("ssii", $username, $password, $age, $gender);if ($mysqli_stmt->execute()) {echo "编号".$mysqli_stmt->insert_id."注册成功";echo PHP_EOL;} else {echo "失败" . $mysqli_stmt->errno;}//释放结果集$mysqli_stmt->free_result();$mysqli_stmt->close();
};//自定义函数function
function select($mysqli)
{$sql = "SELECT uid,username,password,age,gender FROM demo";$mysqli_stmt = $mysqli->prepare($sql);$uid=null;$username = null;$password = null;$age = null;$gender = null;if ($mysqli_stmt->execute()) {$mysqli_stmt->bind_result($uid,$username, $password, $age, $gender);while ($mysqli_stmt->fetch()) {echo "编号" . $uid . "<br>";echo "姓名" . $username . "<br>";echo "密码" . $password . "<br>";echo "年龄" . $age . "<br>";$gender = $gender == 1 ? "男" : "女";echo "性别" . $gender . "<br>";}}else{echo"查询失败";}//释放结果集$mysqli_stmt->free_result();$mysqli_stmt->close();
};?>
数据库的设计
DROP TABLE IF EXISTS `demo`;
CREATE TABLE IF NOT EXISTS `demo` (`uid` int NOT NULL AUTO_INCREMENT COMMENT '用户编号',`username` varchar(20) COLLATE utf8mb4_bin NOT NULL COMMENT '用户姓名',`password` varchar(18) COLLATE utf8mb4_bin NOT NULL COMMENT '用户密码',`age` int NOT NULL COMMENT '用户年龄',`gender` int NOT NULL COMMENT '用户性别',PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
效果