Неустранимая ошибка: невозможно повторно объявить email (), ранее объявленный в

Я создаю свою страницу входа в систему, и когда я загрузил ее, мне показалось, что эта ошибка говорит:

Неустранимая ошибка: невозможно повторно объявить email () (ранее объявленный в /home/a4625512/public_html/core/functions/general.php:2) в /home/a4625512/public_html/core/functions/general.php в строке 4

Мой хост 000WebHost, поэтому я не знаю, имеет ли он какое-то отношение к ним,
и я искал в Интернете везде для этого.

код general.php:

function email($to, $subject, $body) {
mail($to, $subject, $body, 'From: [email protected]');
}

Код для входа:

include 'core/init.php';

if(empty($_POST) === false){
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($username) === true || empty($password) === true){
$errors[] = 'You need to enter a username and password.';
}else if(user_exists($username) === false){
$errors[] = 'We cant find that username. Have you registered?';
}else if(user_active($username) === false){
$errors[] = 'You have not activated your account!';
}else{
$login = login($username, $password);
if($login === false){
$errors[] = 'That username/password is incorrect.';
}else{
$_SESSION['user_id'] = $login;
header('location: index.php');
exit();
}
}
print_r($errors);
}

-2

Решение

Итак, чтобы уточнить, что я прокомментировал:

Начальная часть ошибки, на которую вы должны обратить внимание: Fatal error: Cannot redeclare email()

Эта ошибка говорит вам, что ваша функция email() ранее был объявлен где-то еще, если вы посмотрите на остальную часть ошибки, она говорит вам, где именно вы должны начать искать:

/public_html/core/functions/general.php:2

/public_html/core/functions/general.php в строке 4

Поэтому ваши следующие шаги должны состоять в том, чтобы перейти к этим файлам и выяснить, почему вы объявили имя функции ранее.

Некоторые решения:

Измените имя вашего email() функция к чему-то, что ранее не использовалось. то есть sendEmail(), Это быстрое решение, но на самом деле следует выяснить, почему вы объявили функцию раньше, и можете ли вы использовать ее вместо этого, если она делает то же самое.

Вы можете использовать пространство имен, чтобы отличить функцию электронной почты от других, добавив что-то вроде: namepace Example; в верхней части вашего файла, хотя просто сделать это как единое целое, чтобы исправить проблему, немного глупо, и я бы не рекомендовал это.

Или вы можете (и должны) посмотреть, почему вы заявили об этом ранее, и решить, какой из них лучший вариант.

  • Не могли бы вы использовать эту функцию вместо?
  • Эта функция не используется? Не могли бы вы удалить это?

Куча вещей, которые вы можете сделать на самом деле. Подводя итог, можно сказать, что у вас есть две функции с одинаковым именем, поэтому при попытке их использования PHP не знает, какую функцию вы хотите использовать, и выдает ошибку.

1

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

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

По вопросам рекламы [email protected]