Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает вход в личный кабинет. php MySQLi

Иван Скороходов Ученик (53), закрыт 4 года назад
Переписал сайт с MySQL на MySQLi процедурный, но есть еще не понятные шероховатости. Регистрация пользователя работает, а вход пишет ошибку, хотя кабинет пользователя запускается если открыть другую страницу. Первоначально строка написана так / header ("Location: ".$MM_redirectLoginSuccess);/ Ошибка была такая - /Предупреждение: не удается изменить информацию заголовка-заголовки уже отправлены (вывод начинается с connect\connect.php:48 -( это последняя строка в connect.php)/ Если написать строку так - /header ($link,"Location: ".$MM_redirectLoginSuccess); / Выводит ошибку - /Предупреждение: header () ожидает, что параметр 1 будет строкой, объект задан в... / Если параметр один прописать строкой, то возвращает на первую ошибку.
Лучший ответ
Андрей Высший разум (425181) 4 года назад
Функция header (как и другие функции, генерирующие заголовки) работает только ДО того момента, пока ты НЕ передал браузеру хотя бы один байт контента.

Достаточно, например, поставить пробел или перевод строки перед <?php - и всё: header, setcookie, session вылетают с ошибками.

СНАЧАЛА обработка данных, генерация заголовков и кук, а только ПОТОМ выдача HTML браузеру.

А ещё это происходит, если ты сохраняешь php-файлы с BOM. ВСЕ файлы должны сохраняться ТОЛЬКО в режиме "без BOM".
Иван СкороходовУченик (53) 4 года назад
Спасибо Андрей за ответ, файлы у меня сохранены просто в utf8 без "BOM". Проверил еще раз - пробелов нет. Почему кабинет открывает, а ошибку пишет ?
Остальные ответы
Евгений Костылев Профи (793) 4 года назад
Почему бы и не оставить на MySQL?
3rfo 3Знаток (292) 4 года назад
да попадаются всякие руками водители... начитается статей, потом начинает гнуть... вот ни жить не быть... вон посмотрите, скока чуваков правильность кода на ошибки проверяют... руки ломают и волосы рвут, хотя критерий правильности всегда тока 1 (в вебе) - сайт работает или нет!
потому бы не оставить в *.txt
АндрейВысший разум (425181) 4 года назад
Например, потому, что в PHP 7 их НЕТ. Функции mysql_* остались в современном мире только в "курсах", клепаемых недоучками-говнокодерами.
Евгений Костылев Профи (793) Я писал сайт и не использовал MySQL. Авторизацию делал на простом php
Похожие вопросы