|
|
|
| header('Location:../templates/my_advert.php');
вот что пишет ((((
Warning: Cannot modify header information - headers already sent by (output started at Z:\denwer\www\denwer\my_functions.php:87) | |
|
|
|
|
|
|
|
для: technic611
(22.02.2011 в 14:04)
| | Вы вызываете какую-то функцию отправки HTTP-заголовка (header(), setcookie(), session_start()), после того, как что-то выведено в окно браузера. Дело в том, что HTTP-заголовки и тело HTTP-документа отправляются отдельно, как только начинается отправка тела документа, считается, что все HTTP-заголовки уже отправлены.
Нужно либо так передалать код, чтобы заголовки отправлялись раньше любого вывода в окно браузера, либо включить буферизацию данных, чтобы пока обработка скрипта не завершиться, ничего браузеру не отправлялось - в этом случае интерпретатор сможет собрать все HTTP-заголовки и пустить их вперед тела HTTP-документа. | |
|
|
|
|
|
|
|
для: cheops
(22.02.2011 в 14:09)
| | у меня сверху идет только подключение моих функций и там нет такого (header(), setcookie(), session_start())
<?
// Функция выборки шоссе из базы
function select_road () {
$pol = mysql_query("SELECT * FROM road");
echo "<select class=inp_text id=road name=road ><option value=''>Не выбрано</option>";
while($poll = mysql_fetch_array($pol))
{
echo" <option value=".$poll['id_road'].">".$poll['name_road']."</option>";
}
echo "<select>";
}
// Функция навигации
function create_page_navigator($count_all_records, $cur_page, $num, $url){
//сколько страниц всего можно сделать из этих записей (считаем что по $num записей на странице, можно изменить циферку)
if(floor($count_all_records / $num) == ($count_all_records / $num)){
$cnt_all_pages=$count_all_records / $num;
}else{
//если есть остаток от деления, то на одну страницу больше, там будет не десять, а оставшееся кол-во записей
$cnt_all_pages=floor($count_all_records / $num) + 1;
}
//сколько всего интервалов есть у нас
if(floor($cnt_all_pages / $num) == ($cnt_all_pages / $num)){
$all_intervals=$cnt_all_pages / $num;
}else{
//если есть остаток от деления, то на один интервал больше
$all_intervals=floor($cnt_all_pages / $num) + 1;
}
//теперь в зависимости на какой странице ($cur_page) сейчас пользователь, выводим текущий интервал ($cur_interval)
if(floor($cur_page / $num) == ($cur_page / $num)){
$cur_interval=$cur_page / $num;
}else{
$cur_interval=floor($cur_page / $num) + 1;
}
//выводим ссылки на предыдущий (следующий) интервалы и десять текущих страниц
for($i=1; $i<=$all_intervals; $i++){
if($i == ($cur_interval - 1)){
//ссылка на предыдущий интервал
print "<a href=\"$url" . ($i * $num) . "\"><< предыдущие $num страниц</a> ";
}elseif($i == $cur_interval){
//ссылки текущего интервала
for($j=(($i-1) * $num + 1); $j<=($i * $num) && $j<=$cnt_all_pages; $j++){
if($j == $cur_page){
//если эта та страница на которой сейчас юзер, можно ее подсветить как нить
print "<a style=\"color:red\" href=\"$url" . $j . "\">" . $j . "</a> ";
}else{
print "<a href=\"$url" . $j . "\">" . $j . "</a> ";
}
}
}elseif($i == ($cur_interval + 1)){
//ссылка на следующий интервал
print "<a href=\"$url" . ($i * $num) . "\">следующие $num страниц >></a>";
break;
}elseif($i > ($cur_interval + 1)){
break;
}
}
}
// Функция конвертирования
function convert($from, $to, $var)
{
if (is_array($var))
{
$new = array();
foreach ($var as $key => $val)
{
$new[convert($from, $to, $key)] = convert($from, $to, $val);
}
$var = $new;
}
else if (is_string($var))
{
$var = iconv($from, $to, $var);
}
return $var;
}
?>
|
| |
|
|
|
|
|
|
|
для: technic611
(22.02.2011 в 14:32)
| | Что находится на 87 строчке файла my_functions.php ? | |
|
|
|
|
|
|
|
для: cheops
(22.02.2011 в 14:41)
| | очевидно, это последняя строка приведенного текста.
В поток уходят CR и LF в её хвосте.
Нужно просто удалить эту последнюю строку ?> | |
|
|
|
|
|
|
|
для: Trianon
(22.02.2011 в 14:42)
| | удалить ?> ??????? | |
|
|
|
|
|
|
|
для: technic611
(22.02.2011 в 15:05)
| | Страшно, да?
:)) | |
|
|
|
|
|
|
|
для: technic611
(22.02.2011 в 15:05)
| | Да нет, посмотрите, нет ли за ?> пробелов, переводов строк и других невидимых символов, если есть - удалите, скорее всего проблема после этого исчерпается. | |
|
|
|
|
|
|
|
для: cheops
(22.02.2011 в 15:19)
| | был пробел, убрал, объясниет пожалуйстав чем прикол, выводился в броузер пробел? | |
|
|
|
|
|
|
|
для: technic611
(22.02.2011 в 15:27)
| | Да, так как вы можете за пределами тэгов <?php и ?> выводить HTML-код, интерпретатор не имеет право ничего от туда убирать, поэтому пробел остается как есть и рассматривается как начало HTTP-документа. Как только HTTP-документ начал отправляться браузеру, HTTP-заголовки отправлять нельзя (если отключена буферизация, а она по умолчанию отключена). | |
|
|
|
|
|
|
|
для: technic611
(22.02.2011 в 15:05)
| | для: Trianon
ну я лузер, ну не до такой же степени ))) | |
|
|
|
|
|
|
|
для: technic611
(22.02.2011 в 15:28)
| | То есть вы считаете, что удалять ?> нельзя?
У меня все подключаемые файлы без этой фигнюшечки. | |
|
|
|
|
|
|
|
для: neadekvat
(22.02.2011 в 15:36)
| | а вот это бесит. редактор показывает красным незакрытую скобку <? | |
|
|
|
|
|
|
|
для: elenaki
(12.11.2015 в 11:16)
| | Это какой-то ... день сурка? | |
|
|
|
|
|
|
|
для: technic611
(22.02.2011 в 15:28)
| | удалите и проверьте.
Не корову же проигрываете? | |
|
|
|
|
автор: Гена (12.11.2015 в 10:46) |
|
|
для: Trianon
(22.02.2011 в 15:41)
| | Спасибо, все перерыл, только это и помогло | |
|
|
|