Эта ошибка возникает, когда кто-то отправляет форму регистрации пользователя
Предупреждение. В файле /public_html/register.php в строке 55
* 1004 встречается нечисловое значение * Примечание: не правильно сформированное числовое значениевстречается в /public_html/register.php в строке 55
, это код в строке 55
/* If there are no errors continue the registering process */
if(empty($_SESSION['error'])) {
/* Define some needed variables */
$password = User::encrypt_password($_POST['username'], $_POST['password']);
$active = ($settings->email_confirmation == 0) ? "1" : "0";
$email_code = md5($_POST['email'] + microtime());
$date = new DateTime();
$date = $date->format('Y-m-d H:i:s');
/* Add the user to the database */
$stmt = $database->prepare("INSERT INTO `users` (`username`, `password`, `email`, `email_activation_code`, `name`, `active`, `ip`, `date`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
$stmt->bind_param('ssssssss', $_POST['username'], $password, $_POST['email'], $email_code, $_POST['name'], $active, $_SERVER['REMOTE_ADDR'], $date);
$stmt->execute();
$stmt->close();
/* If active = 1 then login the user, else send the user an activation email */
if($active == "1") {
$_SESSION['user_id'] = User::login($_POST['username'], $password);
redirect("status/loggedin");
} else {
$_SESSION['success'][] = $language->register->success_message->registration;
sendmail($_POST['email'], $settings->contact_email, $language->register->email->title, sprintf($language->register->email->content, $settings->url, $_POST['email'], $email_code));
//printf($language->register->email->content, $settings->url, $_POST['email'], $email_code);
}
}
Редактировать
, пытался с
$email_code = md5($_POST['email'] . microtime());
и использование точки для объединения исправило мою проблему, как я нашел в комментариях.