Предупреждение. Обнаружено нечисловое значение. Примечание.

Эта ошибка возникает, когда кто-то отправляет форму регистрации пользователя

Предупреждение: нечисловое значение, встречающееся в /public_html/register.php в строке 55

Примечание: неправильно сформированное числовое значение, встречающееся в /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());

и использование точки для объединения исправило мою проблему, как я нашел в комментариях.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector