|
| |
|
|
| |
для: 1999
(29.07.2006 в 23:37)
| | | Кроме <meta http-equiv='refresh' ...> и header('location: ...') можно еще javascript-ом window.location='...' | |
| |
|
|
| |
|
|
| |
для: 1999
(29.07.2006 в 23:37)
| | | Ну да, у вас сначала выводится html-код, а потом посылается заголовок.
Вообще же универсальное решение - это буферизация: первая строчка скрипта - ob_start(), последняя - ob_end_flush(). И не надо думать, когда что выводится. | |
| |
|
|
| |
|
|
| |
для: 1999
(29.07.2006 в 23:37)
| | | Если я не ошибаюсь, то нужно header("location: index.php"); разместить до того как HTML cделает к-либо вывод. Перенесите обработку в самое начало, до <html>..... | |
| |
|
|
| |
|
|
| | подскажите плиз. я начал писать собственный скрипт новостей с БД наподобие cutenews.
проблемка возникла при использовании header'а (у меня это постоянно больное место)
при выходе из администрироования unset'ятся переменные сессии, удаляется сессия (session_destroy) и производится header("location:index.php").
Тут собсна и возникает ошибка - пишет эту гадскую проблему, что заголовки уже посланы.
причем посланы на той строке, где и прописан этот хэдер.
я б сделал метой, но слышал, что не у всех она работает =(
причем при входе - все нормально - хэдер ошибок не выдает и плавно переходит на администрирование. Не подскажете, в чем ошибка?
Вот код этого index.php
<?php
// Стартуем сессию
session_start();
// Ставим уровень обработки ошибок
error_reporting(E_ALL & ~E_NOTICE);
// Подключаем конфиг, функции и соединяемся с БД
require_once("includes/config.php");
require_once("includes/functions.php");
db_connect();
// Вход в систему - обработка формы входа
if (isset($_POST['login']) && isset($_POST['password']))
{
// проверка правильного логина и пароля
// если все нормально - создаем переменные сессии и хэдером перебрасываем
// : header("location: index.php")
}
?>
<html>
<head>
<title>...</title>
<script src="includes/javascripts.js"></script>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<center><table class=main>
<tr><td>
<?
// т.е. если прошел проверку
if ($_SESSION['edit_mode'] == "on" && check_auth())
{
// администрирование
// в т.ч. выход - ВОТ ЭТО
if ($_GET['action'] = "logout")
{
unset($_SESSION['edit_mode'],$_SESSION['user_id'],$_SESSION['pass']);
session_destroy();
header("location: index.php");
break;
}
}
else
{
// выводим форму входа
}
?>
</td></tr>
</table></center>
</body>
</html>
|
| |
| |
|
|
|