Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Помогите с отладкой


Автор: benq4400 4.2.2010, 09:49
Сразу скажу, что локально все отладил и все работает на ура. А вот на сайте не хочет
Это скрипт для записи в excel.
Сам файл (назовем его excel.php) и все необходимые классы находятся на хосте в одном каталоге.
Код
<? Header('Content-type: text/html; charset=utf-8');
Error_Reporting(E_ALL & ~E_NOTICE);
echo "777";
require_once "class.writeexcel_workbook.inc.php";
require_once "class.writeexcel_worksheet.inc.php";
$fname = "1.xls";
$workbook =& new writeexcel_workbook($fname);     //создаю книгу с именем "1"
$worksheet =& $workbook->addworksheet('Отчет'); //создаю лист с именем "отчет"
$worksheet->write('A6', 'Добро пожаловать');
$workbook->close();
?>


Начну с кодировки: вместо, например, 'Добро пожаловать' записывается Добро пожаловать.
Хотя в заголовке отправляю Header('Content-type: text/html; charset=utf-8')

Автор: MoLeX 4.2.2010, 10:01
сам скрипт в какой кодировке?

Автор: benq4400 4.2.2010, 10:04
Notepad++ говорит, что в ANSI

Автор: benq4400 4.2.2010, 10:23
ой, с кодировкой вроде разобрался.
так-с, сейчас другую проблему выложу

Автор: benq4400 4.2.2010, 10:59
Ситуация следующая:
данный файл, если набрать в браузере 'mysite.ru/catalog/excel.php' выполняется так, как надо.
Имеет примерно следующий вид: 
Код

require_once "class.writeexcel_workbook.inc.php";
require_once "class.writeexcel_worksheet.inc.php";

$fname = "1.xls";
$workbook =& new writeexcel_workbook($fname);
$worksheet =& $workbook->addworksheet('Отчет');

$worksheet->write('C5', "Общая тема",$header);                 //$header, $f1, $f2...  - это заранее объявленные форматы
$worksheet->merge_cells('C5:D5');
$worksheet->write_blank(4, 3,$header);
$worksheet->write('C6', "Левый столбец",$header2);
$worksheet->write('D6', "Правый столбец",$header3);

$worksheet->write('C7', $vyv[0],$f1);
$worksheet->write('D7', $vyv[1],$f2);
$worksheet->write('C8', $arr[0],$f3);
$worksheet->write('D8', $arr[1],$f4);

но если его подключать (include "./catalog/excel.php";) в php-модуле в Joomla!, а именно оттуда передаются переменные, то после нажатия на submit пропадают все шаблоны оформления, то есть остается тупо html-разметка и excel-файл не создается в принципе. В какую сторону здесь нужно копать?

Автор: Ипатьев 4.2.2010, 11:17
Наверное, надо определиться с тем, что мы хотим - посмотреть сайт или скачать файл?

Автор: benq4400 4.2.2010, 11:31
Цитата(Ипатьев @ 4.2.2010,  11:17)
Наверное, надо определиться с тем, что мы хотим - посмотреть сайт или скачать файл?

Суть всего этого действа вот в чем: в зависимости от выбранной организации, из выпадающего списка формируется и выводится на экран отчет. После чего (последней строчкой в коде) подключается 'excel.php' и на хост записывается excel-файл с содержимым. А из модуля я использую в файле только содержимое двух массивов. Мне кажется оба этих действия могут вполне себе спокойно сосуществовать

Автор: Ипатьев 4.2.2010, 11:34
Неправильно кажется.

Добавлено через 3 минуты и 38 секунд
Стоп. Запись на хост, а не отправка клиенту?
А при чем здесь тогда заголовок Content-type? 

Запись в файл может сосуществовать. 

Куда пропадают стили - надо смотреть. В браузере. 

Автор: benq4400 4.2.2010, 11:41
Цитата(Ипатьев @ 4.2.2010,  11:34)
Неправильно кажется.

Добавлено @ 11:38
Стоп. Запись на хост, а не отправка клиенту?
А при чем здесь тогда заголовок Content-type? 

Запись в файл может сосуществовать. 

Куда пропадают стили - надо смотреть. В браузере.

Именно, запись на хост. На Content type не обращайте внимания - я это убрал. 
Но дело в том, что без этого заголовка в модуле ещё и кодировка слетает. Хотя по отдельности все нормально

Автор: Ипатьев 4.2.2010, 11:44
Тогда могут сосуществовать

Автор: benq4400 4.2.2010, 11:46
Это радует smile 

Автор: Ипатьев 4.2.2010, 11:49
Кодировка слетает ГДЕ? В записанном файле? 
Что значит "пропадают шаблоны оформления"? Шаблоны стираются с диска? Что вообще имеется в виду под словом "шаблоны оформления"?

Автор: MoLeX 4.2.2010, 12:03
benq4400, 

M
MoLeX
Модератор: Пожалуйста, один топик - один вопрос.

Автор: benq4400 4.2.2010, 12:07
Цитата(MoLeX @ 4.2.2010,  12:03)
один топик - один вопрос,

ок, перейдите в эту тему, пожалуйста "Подключение файла в модуль Joomla"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)