Я целый день выдергивал свои волосы из-за этого и не нашел решения, почему он не вставляется в БД ... Локально работает, но на веб-сервере - нет, может кто-нибудь взглянет наэтот код и посмотреть, если вы видите ошибку или какой-либо совет
Cheers
Функция
public function Register($name, $email, $password)
{
try {
$db = DB();
$query = $db->prepare("INSERT INTO users(name, email, password) VALUES (:name,:email,:password)");
$query->bindParam("name", $name, PDO::PARAM_STR);
$query->bindParam("email", $email, PDO::PARAM_STR);
$enc_password = hash('sha256', $password);
$query->bindParam("password", $enc_password, PDO::PARAM_STR);
$query->execute();
return $db->lastInsertId();
} catch (PDOException $e) {
exit($e->getMessage());
}
}
И это мой сценарий регистрации
$app = new SiteLib();
$register_error_message = '';
if (!empty($_POST['btnRegister'])) {
if ($_POST['name'] == "") {
$register_error_message = 'Name field is required!';
} else if ($_POST['email'] == "") {
$register_error_message = 'Email field is required!';
} else if ($_POST['password'] == "") {
$register_error_message = 'Password field is required!';
} else if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$register_error_message = 'Invalid email address!';
} else if ($app->isEmail($_POST['email'])) {
$register_error_message = 'Email is already in use!';
} else {
$user_id = $app->Register($_POST['name'], $_POST['email'], $_POST['password']);
$_SESSION['user_id'] = $user_id;
header("Location:frontpage.php");
exit();
}
}
Заранее спасибо за любую помощь
РЕДАКТИРОВАТЬ:
Это ошибка
Warning: PDOStatement::setAttribute(): SQLSTATE[IM001]: Driver does not support this function: This driver doesn't support setting attributes in /customers/3/c/2/er.co.uk/httpd.www/lib/library.php on line 10 Warning: Cannot modify header information - headers already sent by (output started at /customers/3/c/2/er.co.uk/httpd.www/lib/library.php:10) in /customers/3/c/2/preptracker.co.uk/httpd.www/register.php on line 25
Это строка 10 из Library.php
$query->bindParam("name", $name, PDO::PARAM_STR);
А это строка 25 из Register.php
header("location:frontpage.php");
надеюсь, это поможет