Делаю форму регистрации по мануалу для php5 на php7.
Вот проблемное место:
<?php
//заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['login'])) {
$login = $_POST['login'];
if ($login == '') {
unset($login);
}
}
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) {
$password=$_POST['password'];
if ($password =='') {
unset($password);
}
}
//если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
if (empty($login) or empty($password)) {
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
//если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
//удаляем лишние пробелы
$login = trim($login);
$password = trim($password);
// подключаемся к базе
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
// проверка на существование пользователя с таким же логином
$result = mysqli_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysqli_fetch_array($result);
if (!empty($myrow['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
}
// если такого нет, то сохраняем данные
$result2 = mysqli_query ("INSERT INTO users (login,password) VALUES('$login','$password')");
// Проверяем, есть ли ошибки
if ($result2=='TRUE') {
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
} else {
echo "Ошибка! Вы не зарегистрированы.";
}
?>
После ввода регистрационных данных вылезает "Ошибка! Вы не зарегистрированы." вместо отправки в БД. Так понимаю, что проблема в этом месте
$result2 = mysqli_query ("INSERT INTO users (login,password) VALUES('$login','$password')");
if ($result2=='TRUE') {на вскидку... https://www.php.net/manual/en/language.types.boolean.php других критических замечаний по коду нет... но код г... – Jour Nov 04 '22 at 18:03VALUES ('$login',...можно в целом сжечь сразу дочитав до этой строки, а автора предать анафеме – teran Nov 04 '22 at 21:04