php - 检查数据库中是否有另一个用户名不起作用
问题描述
我用 PHP 对此进行了编码,它工作正常,它将我的数据从注册页面插入到我的数据库中。它创建帐户。我试图添加一个条件来检查用户名是否已经存在于数据库中,如果存在,我想将他重定向到一个新页面,说明用户名已经存在。如果数据库中不存在用户名,我希望他正常注册。就我而言,即使用户名存在于数据库中,它也会在现有用户名上创建另一个用户名。我看过视频并在互联网上阅读,但我真的不明白该怎么做。对不起我的英语不好,如果我不够清楚。
这是我的代码:
<?php
session_start();
// Create connection
include('config.php');
if (isset($_POST['buton_inregistrare'])) {
$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$password2 = mysqli_real_escape_string($conn, $_POST['password2']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$stergere = mysqli_real_escape_string($conn, $_POST['stergere']);
$realName = mysqli_real_escape_string($conn, $_POST['numeReal']);
$security = mysqli_real_escape_string($conn, $_POST['seqcod']);
$verUsername = mysqli_query($conn, "SELECT login FROM account WHERE name='$username'");
$count = mysqli_num_rows($verUsername);
if ($count > 0) {
header("location: ../inregistrare_esec2.html");
}
//check if passwords are the same
if ($password == $password2) {
//Creating user
$sql = "INSERT INTO account(login, password, email, social_id, real_name, securitycode) VALUES('$username', PASSWORD('$password'), '$email', '$stergere', '$realName', '$security')";
mysqli_query($conn, $sql);
header("location: ../inregistrare_succes.html");
}
else{
// passwords are not the same
header("location: ../inregistrare_esec.html");
}
}
?>
这就是我的mysql的样子: mysql image
解决方案
推荐阅读
- android - Places Api 活动立即关闭?
- shell - 仅打印文件出现的子目录
- css - 如何使用百里香获取当前页面地址?
- nlp - 在斯坦福神经网络依赖解析器中加载模型的一些问题
- javascript - 在触摸屏上关闭窗口时停止/暂停音频
- java - sdkman 缺少特定的 java 版本
- php - 输入数据成功时如何回显成功
- javascript - 如何在 HTML 输入类型颜色选择器中阻止或忽略特定颜色?
- mrtk - Project being built as a 2D window, and not as a 3D environment in HoloLens 1?
- python - 如何在空白行上拆分 CSV 文件