Выдает: что "Регистрация не удалась" и на базу данных ничего не приходит, в чем мб ошибка?
/* Файл connect.php, просто не знаю, как правильно тут сделать*/
<?php
$connection = mysqli_connect('localhost', 'root', '', 'pratice');
$select_db = mysqli_select_db($connection, 'pratice'); // Выбираем базу данных
?>
<!DOCTYPE html>
<html>
<head>
<title>Registers</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link rel="stylesheet" href="style.css">
</head>
<body>
<?php
require('connect.php');
if (isset($_POST['username']) && isset($_POST['password'])) // isset - Определяет, была ли установлена переменная,
{
$username = $_POST['username'];
$emal = $_POST['email'];
$password = $_POST['password'];
$query = "INSERT INTO users (username, password, email) VALUES ('$username', '$email', '$password')";// Добавляем в mysql значения
$result = mysqli_query($connection, $query); // Для подключения к базе данных
if($result) // Теперь проверяем прошла ли регистрация или нет
{
$smsg = "Регистрация прошла успешно";
} else {
$fsmsg = "Регистрация не удалась";
}
}
?>
<div class="container">
<form class="form-signin" method="POST">
<h3>Registration</h3>
<?php if(isset($smsg)){ ?> <div class="alert alert-success" role="alert"><?php echo $smsg; ?></div><?php }?>
<?php if(isset($fsmsg)){ ?> <div class="alert alert-danger" role="alert"><?php echo $fsmsg; ?></div><?php }?>
<input type="text" name="username" class="form-control" placeholder="Username" required> <!-- required - значит обязательно для ввода -->
<input type="email" name="email" class="form-control" placeholder="Email" required>
<input type="password" name="password" class="form-control" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">REGISTER</button><!-- btn, чтобы определить кнопку; btn-lg, размер кнопки; btn-primary, цвет кнопки; btn-block, размещение кнопки -->
</form>
</div>
</body>
</html>
Ваша ошибка в этой строке кода.
$query = "INSERT INTO users (username, password, email) VALUES ('$username', '$email', '$password')";// Добавляем в mysql значения
Она не совпадает со структурой БД.
Замените этой строкой и всё заработает:
$query = "INSERT INTO users (username, password, email,active) VALUES ('$username', '$email', '$password',0)";// Добавляем в mysql значения
Немного пояснений:
Итого ваш запрос обязательно должен установить поле active, т.к. оно не может быть без значения(Null) и для него нет значения "по умолчанию".
Можно так же установить для данного поля(в БД) или значение по умолчанию(например 0) или возможность установки в Null и тогда код на php можно не менять.
В файле подключеня к бд не нужно указывать
$select_db = mysqli_select_db($connection, 'pratice');
т.к ты уже указал базу данных в переменной $connection. 2. Сделай вот так:
$username = mysqli_real_escape_string($_POST['username']);
$emal = mysqli_real_escape_string($_POST['email']);
$password = md5($_POST['password']); // Или можешь использовать другой метод шифрования
Пробуй так
if(mysqli_num_rows($result) == 0){
$query = "INSERT INTO users (username, password, email) VALUES('$username','$email', '$password')";
$result = mysqli_query($connection, $query);
echo = "Регистрация прошла успешно";
} else {
echo = "Пользователь не найден";
}
Как-то так , у меня все заработало так!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Вообщем такое дело, решил потренироваться в traits и заодно избавится от одного расширения для сохранения картинок и в итоге написал такой код:
html_entity_decode возвращает строку в p, а мне нужно чтобы она не была обернута в тэг pКак можно это сделать? Потому как хочу на этот
Рекурсивная функция возвращает все папки из директории C:\Test, кроме вложенныхЧто необходимо изменить, чтобы генератор yield возвращал все папки,...
хотел бы узнать почему не работает форма на сайте, есть сайт http://vialusocom/product/wordpress-pennant При клике на купить в 1 клик вылезает модальное окно, хотел...