yerdnaandrey
@yerdnaandrey

Ошибка при обработки регистрации?

<?php 

//получение из формы

require "../assets/config/config.php/";
require "../assets/functions.php/";

//очищение строк
 
$login = $_POST["login"];
$name = $_POST["name"];
$password = $_POST["password"];
$email = $_POST["email"];
 
$name = ClearString($name);
$login = ClearString($login);
$password = ClearString($password);
$email = ClearString($email);
 
//проверки

if(strlen($login) > 30){
    echo "Логин должен быть не длиннее 30 символов";
    die();
}if(strlen($login) < 4){
    echo "Логин должен быть не короче 4 символов";
    die();
}if(strlen($name) < 2){
    echo "Имя должно быть не короче 2 символов";
    die();
}if(strlen($name) > 15){
    echo "Имя должно быть не длиннее 15 символов";
    die();
}if(strlen($login) > 200){
    echo "Емаил должен быть не длиннее 200 символов";
    die();
}if(strlen($login)  < 5){
    echo "Логин должен быть не короче 5 символов";
    die();
}if(strlen($login) > 40){
    echo "Пароль должен быть не длиннее 40 символов";
    die();
}if(strlen($login) < 8){
    echo "Логин должен быть не короче 30 символов";
    die();
}

//хешинг

$hash = "U|}p}w~NEbm{";
$password = md5($password.$hash);
$standart_avatar = "avatar.png";

//дата
$date = date("Y-F-j H:i");
$date_int = date("YFjHi");

//запрос в БД 

$connect_to_register = new mysqli($hosts, $account, $pswrd, $dbs);
$connect_query_to_register = "INSERT INTO `users`(`user`, `avatar`, `likes`, `pswrd`, `email`, `deleted`, `date_create`, `dates_int`) VALUES ('${login}', '${standart_avatar}' , '0', '${password}', '${email}', 'false' , '${date}', ${date_int})";
$connect_to_register->query($connect_query_to_register);

mysql_error($connect_to_register);

?>

даже не знаю на что думать. ошибок не выводиться, а нужных данных в бд нет.
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
nefone
@nefone
PHP-разработчик
Сделал добавление, поменял mysqli на PDO и md5() на password_hash():
<?php
//подключение конфига и функций
require "../assets/config/config.php/";
require "../assets/functions.php/";

//получение данных из формы
$login = $_POST["login"];
$name = $_POST["name"];
$password = $_POST["password"];
$email = $_POST["email"];
 
//проверки
if(strlen($login) > 30){
    echo "Логин должен быть не длиннее 30 символов";
    die();
}if(strlen($login) < 4){
    echo "Логин должен быть не короче 4 символов";
    die();
}if(strlen($name) < 2){
    echo "Имя должно быть не короче 2 символов";
    die();
}if(strlen($name) > 15){
    echo "Имя должно быть не длиннее 15 символов";
    die();
}if(strlen($email) > 200){
    echo "Емаил должен быть не длиннее 200 символов";
    die();
}if(strlen($email)  < 5){
    echo "Емаил должен быть не короче 5 символов";
    die();
}if(strlen($password) > 40){
    echo "Пароль должен быть не длиннее 40 символов";
    die();
}if(strlen($password) < 8){
    echo "Пароль должен быть не короче 8 символов";
    die();
}

//хешинг
$password = password_hash($password, PASSWORD_DEFAULT);
$standart_avatar = "avatar.png";

//дата - в БД это поле должно быть 'VARCHAR'
$date_int = date("YFjHi");

$likes = '0'; //дефолтное значение 
$deleted = 'false'; //дефолтное значение

//устанавливаем соедниение с базой данных
$connect_to_registerdbh = new PDO('mysql:host=localhost;dbname='.$dbs, $account, $pswrd);

$stmt = $connect_to_registerdbh->prepare("INSERT INTO users (user, avatar, likes, pswrd, email, deleted, date_create, dates_int) VALUES (:user, :avatar, :likes, :pswrd, :email, :deleted, NOW(), :dates_int)");

//подготавливаем параметры
$stmt->bindParam(':user', $login);
$stmt->bindParam(':avatar', $standart_avatar);
$stmt->bindParam(':likes', $likes);
$stmt->bindParam(':pswrd', $password);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':deleted', $deleted);
$stmt->bindParam(':dates_int', $date_int);

//выполняем запрос на добавление данных в БД
$stmt->execute();


Структыра таблицы users в БД должна быть такой:
609702318edcb175065000.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Cbonds.ru Санкт-Петербург
от 160 000 ₽
от 2 200 до 3 500 $
Denero Санкт-Петербург
от 40 000 до 60 000 ₽
17 июн. 2021, в 00:44
40000 руб./за проект
17 июн. 2021, в 00:12
100000 руб./за проект
17 июн. 2021, в 00:05
2000 руб./за проект