Ошибка, которую вы видите ("Warning: Cannot modify header information - headers already sent..."), возникает из-за того, что до вызова функции `header()` уже был сгенерирован какой-либо вывод на экран. Это может быть вызвано пробелами, текстом или даже символом новой строки перед открывающим PHP тегом `<?php`, либо выводом (например, `echo` или `print`) от предыдущих операций.
Вот несколько шагов, которые помогут вам исправить ошибку:
1. **Проверьте наличие пробелов и вывода**: Убедитесь, что перед `<?php` нет пробелов, пустых строк или любого другого вывода. Ваш PHP файл должен начинаться сразу с `<?php`.
2. **Переместите вывод ошибок**: Такие сообщения, как "Данные введены неверно!", стоит помещать ниже `header()`, или просто завершить выполнение скрипта с помощью `exit`, чтобы избежать дальнейшего вывода.
Вот пример, как нужно изменить код:
```php
<?php
if (isset($_POST['login']) && isset($_POST['password'])) {
$login = strip_tags(trim($_POST['login']));
$password = strip_tags(trim($_POST['password']));
$db = new PDO("mysql:host=localhost;dbname=u2361498_default", "u2361498_default", "2Ze66dOGJ3SijHaz");
$info = [];
if ($query = $db->query("SELECT `login`, `password` FROM `admin`")) {
$info = $query->fetchAll(PDO::FETCH_ASSOC);
} else {
print_r($db->errorInfo());
}
foreach ($info as $data) {
if ($data["login"] == $login && $data["password"] == $password) {
header('Location: admin/admin-input-true.html');
exit(); // Остановить выполнение скрипта
}
}
// Если вы хотите показывать сообщение об ошибке, то сделайте это после возможного редиректа
echo 'Данные введены неверно!';
exit(); // Остановить выполнение скрипта после вывода сообщения
}
?>
```
3. **Закрытие выполнения**: Использование `exit();` после вызова `header()` помогает предотвратить дальнейшую обработку скрипта и вывод лишней информации после перенаправления.
Если следуя вышеуказанным рекомендациям, проблема все еще возникнет, стоит проверить файл на наличие BOM (Byte Order Mark), который может быть добавлен некоторыми текстовыми редакторами. Попробуйте использовать редактор, который позволяет сохранять файлы без BOM.