在 php 上注册出错了


Registration on php went wrong

我是 php 的新手,所以我正在学习基础知识......

.HTML:

<form action="reg.php" method="post">
                                <input name="realname" type="text" maxlength="50" placeholder="Имя" class="input-style b2 w1-ha db left m-b5"/>
                                <input name="login" type="text" maxlength="50" placeholder="Логин" class="input-style b2 w1-ha db left m-b5" />
                                <input name="password" type="password" size="15" maxlength="15" placeholder="Пароль" class="input-style b2 w1-ha db left m-b5" />
                                <button type="submit" name="submit" class="left m-t10 btn green-btn">Зарегистрироваться</button>
                            </form>

以下是网页上注册的PHP代码:

<?php
include_once('other/inc/config.php');
include_once('other/inc/bd.php');
if (isset($_POST['login'])) {  
    $login = $_POST['login'];
    if ($login == '') {
        unset($login);
    } 
} 
if (isset($_POST['password'])) {  
    $password = $_POST['password'];
    if ($password == '') {
        unset($password);
    } 
}
if (isset($_POST['realname'])) {  
    $name = $_POST['realname'];
    if ($name == '') {
        unset($name);
    } 
}
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($login) or empty($password) or empty($name)) { //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    scriptT('You did not enter the whole information');
  header('Refresh: 0; URL= /');
}
//если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
$name = checkTxtI($name);
$login = checkTxtI($login);
$password = checkPass($password);
// проверка на существование пользователя с таким же логином
$result = mysql_query("SELECT id FROM users WHERE login = '$login'", $db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
    scriptT('Sorry, this login is already taken. Please enter another one.);
  header('Refresh: 0; URL= /');
}
// если такого нет, то сохраняем данные
$result2 = mysql_query ("INSERT INTO users (realname, login, password) VALUES('$name', '$login', '$password')") or die(mysql_error());
if($result2 = 'TRUE') {
  scriptT('You have registered!!');
  header('Refresh: 0; URL= /');
} else {
  scriptT('Error!');
  header('Refresh: 0; URL= /');
}
?>

错误在哪里?我总是收到错误,我没有在表单中输入某些字段,但实际上我输入了。

请帮我:)

  • 在 PHP 中没有调用或使用|| 而是在您的 if 语句中
  • 始终在每一步中检查您的代码
  • 尝试将 mysqlipdo 与数据库一起使用,而不是 mysql,以确保它可以与较新的 PHP 版本