我们要验证注册的账户是不是已经存在,我们需要连接数据库,在数据库中进行搜索。
涉及的知识点:
1.后端PHP
2.模拟数据库的搭建(通过XAMPP) 【将在下一章进行介绍】
一、对数据库进行连接:
$conn = new mysqli("localhost","root","","marvel");
//这里通过PHP的对象创建,之后往这个对象中传参数
第一个参数为本地主机
第二个参数与第三个参数为账户密码,第四个参数为数据库名称
if($conn->connect_error) {
echo "数据库链接失败".$conn->connect_error;
return;
}else{
// echo "连接数据库成功"
};
//设定PHP读取数据库的编码格式,这样的话是防止出现乱码的情况
$conn->query('set names utf8');
//连接数据库成功之后,我们需要通过sql语句,在数据库创建的表中,搜寻你注册的账户名是否存在.
//在此PHP文件中,我们先是需要提取在之前的HTML文件中的用户名
$user = $_GET['username'];
$pw = $_GET['password'];
$sql = "
SELECT `id` FROM `users`
WHERE `users`.`username` = '$user'
";
【sql语句是个特别严谨的存在,注意引号的使用】
$ret = $conn->query($sql);
【PHP语句书写代码的格式真的是让人匪夷所思,如上文的“->”,它相当于“.”,希望大家能熟悉】
我们执行$sql语句之后,对象$ret有一个属性,为num_rows,我们通过查看它的值来查询数据库中是否有我们已经存在的用户名,如果大于0,就存在。
if($ret->bun_rows>0) {
echo "用户名已经存在"
}else{
//如果不存在,则将该用户名和密码插入表中,需再次使用sql语句
【注意的是,我们之前提取的是用户名和密码,在查询时我们用到的只是用户名,但是现在因为用户名的不存在,一并把密码存入表中,方便我们在写登入页面时,搜寻用户名和密码,因为在登录页只有密码是不够的】
$sql = "
INSERT INTO `users`
(`id`,`username`,`password`,`age`,`gengder`)
VALUES
(NULL,'$user','$pw','18','male')
";
//再次执行sql语句
$ret = $conn->query($sql);
if($ret) {
echo "注册成功"
}else{
echo "注册失败"
}
}
$conn->close();
//同一时间连接数据库的链接数量是有限的,所以我们在使用数据库之后,我们需要将数据库关闭。
?>
【自己又当前段和后端的感觉是也别的好呀,其实前后端的数据交互远没有如此简单。我仿佛看到了java大叔的微微一笑。我们只是利用XAMPP自己模拟建立数据库。利用DOM事件onblur,在失去焦点时通过ajax来发送get请求,向数据库中搜索。并且ajax发送get是有很多弊端的,如会暴露信息等】复制代码