Здравствуйте. Создаю регистрацию на PHP PDO. При добавлении пользователя с хешированным паролем данные не заносятся в БД. PHP: <?php require_once("DataBaseConfig.php"); class SignUpConfig{ private $id; private $userName; private $login; private $email; private $password; public $dbConn; public function __construct($id = 0, $userName = "", $login = "", $email = "", $password = ""){ $this->id = $id; $this->userName = $userName; $this->login = $login; $this->email = $email; $this->password = $password; $this->dbConn = new PDO(DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME, DB_USER, DB_PASSWORD, [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC]); } public function SetId($id){ $this->id = $id; } public function GetId(){ return $this->id; } public function SetUserName($userName){ $this->userName = $userName; } public function GetUserName(){ return $this->userName; } public function SetLogin($login){ $this->login = $login; } public function GetLogin(){ return $this->login; } public function SetEmail($email){ $this->email = $email; } public function GetEmail(){ return $this->email; } public function SetPassword($password){ $this->password = $password); } public function GetPassword(){ return $this->password; } public function InserDatatUser(){ try{ $stm = $this->dbConn->prepare("INSERT INTO `users` (`username`, `login`, `email`, `password`) VALUES (?,?,?,?)"); $stm->execute([$this->userName, $this->login, $this->email, md5($this->password)]); } catch(Exception $e){ return $e->getMessage(); } } } session_start(); if(isset($_POST['signUp'])){ require_once("SignUpConfig.php"); $signUp = new SignUpConfig(); $signUp->SetUserName($_POST['username']); $signUp->SetLogin($_POST['login']); $signUp->SetEmail($_POST['email']); $signUp->SetPassword($_POST['password']); $signUp->InserDatatUser(); echo "<script>alert('User created Successfully'); document.location='../home.php'</script>"; } ?> От модератора: для кода кнопка </>
а константы то определены... прям в классе??? ))) DB_TYPE итд попробуйте вывести их в конструкторе ... ну и при создании коннекта обычно стараются предусмотреть сообщения об ошибке - если не получилось законнектится
@Vladislav Tul не ставь в конце файла ?>. это официальная рекомендация от разрабов php семен семеныч, ну что же вы!!! ошибку ты успешно прячешь от самого себя — перехватил и никак не используешь потом. если ты так сделал, было бы логично проверять вернула ли функция что-то (любой не null). и если вернула, то вместо "User created Successfully" выводить в алерте текст ошибки.