Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вопрос простейший, но че-то не догнал...
Форумы портала PHP.SU » PHP » Программирование на PHP » Вопрос простейший, но че-то не догнал...

Страниц (2): [1] 2 »
 

1. vitroot - 29 Ноября, 2006 - 07:14:00 - перейти к сообщению
У меня есть страница ./index.php, есть, например, ./include/module.inc и ./styles/style.css
Я не хочу постоянно прописывать в страницах

CODE (text):
скопировать код в буфер обмена
  1. <link rel="stylesheet" type="text/css" href="./styles/style.css">


и поэтому в ./include/module.inc пишу функию вида:

CODE (text):
скопировать код в буфер обмена
  1. function style($style_name){
  2. echo '<link rel="stylesheet" type="text/css" href="../styles/".$style_name.".css">';}


А уже в ./index.php у меня стоит

CODE (text):
скопировать код в буфер обмена
  1. <? include "./include/module.inc"; ?>
  2. <head>
  3. <? style(style); ?>
  4. </head>


И вот что получается. Эта функция вообще никак не действует. Я точно не знаю, можно ли таким образом вызывать функции в заголовках <head>...</head>. Может в этом и дело? Кто поможет?
2. evgenijj - 29 Ноября, 2006 - 10:27:29 - перейти к сообщению
Я так понимаю, что "style" - это строка. Так и передавай в функцию строку. А то получается, что в качестве входного параметра ты передаешь функции неопределенную константу style.
CODE (text):
скопировать код в буфер обмена
  1. <? include "./include/module.inc"; ?>
  2. <head>
  3. <? style("style"); ?>
  4. </head>

3. vitroot - 29 Ноября, 2006 - 10:33:58 - перейти к сообщению
evgenijj пишет:
Я так понимаю, что "style" - это строка. Так и передавай в функцию строку. А то получается, что в качестве входного параметра ты передешь функции неопределенную константу style.
CODE (text):
скопировать код в буфер обмена
  1. <? include "./include/module.inc"; ?>
  2. <head>
  3. <? style("style"); ?>
  4. </head>



style - это обыкновенная строковая переменная, точнее значение, которое функция подставляет в переменную $style_name в качестве названия css-стиля, точнее его имени в тег вызова таблицы стилей. Что здесь неправильно понять не могу...
4. evgenijj - 29 Ноября, 2006 - 10:37:09 - перейти к сообщению
Цитата:

style - это обыкновенная строковая переменная, точнее значение, которое функция подставляет в переменную $name в качестве названия css-стиля, точнее его имени в тег вызова таблицы стилей. Что здесьнеправильно поянть не могу...

Если переменная, то передавай переменную:
style($style);
5. vitroot - 29 Ноября, 2006 - 11:04:13 - перейти к сообщению
evgenijj пишет:
Цитата:

style - это обыкновенная строковая переменная, точнее значение, которое функция подставляет в переменную $name в качестве названия css-стиля, точнее его имени в тег вызова таблицы стилей. Что здесьнеправильно поянть не могу...

Если переменная, то передавай переменную:
style($style);

Я говорю "значение, которе уже в функции получает переменная.". Если, например, сделать вот так:
CODE (text):
скопировать код в буфер обмена
  1. <? $style_name="style";
  2.   style($style_name); ?>

то результат не изменяется. Проверял.
6. evgenijj - 29 Ноября, 2006 - 11:49:51 - перейти к сообщению
Цитата:
Эта функция вообще никак не действует.

А что значит "не действует"?. Она не выводит в браузер строку <link rel="stylesheet" type="text/css" href="..."> или выводит, но таблица стилей не подгружается? Во втором случае стоит проверить путь к файлу стилей. Я обычно пишу путь относительно корня сервера - так он будет виден любой странице href="/style/style.css"
7. vitroot - 29 Ноября, 2006 - 12:05:47 - перейти к сообщению
evgenijj пишет:
Цитата:
Эта функция вообще никак не действует.

А что значит "не действует"?. Она не выводит в браузер строку <link rel="stylesheet" type="text/css" href="..."> или выводит, но таблица стилей не подгружается? Во втором случае стоит проверить путь к файлу стилей. Я обычно пишу путь относительно корня сервера - так он будет виден любой странице href="/style/style.css"


Что-то совсем непонятная сейчас ситуация. Если в теле <body>...</body> я вызываю любую функцию из ./include/module.inc, то вместо нормального ./index.php я получаю просто чистую страницу. Может проблема какая-то в правах стоит? Я уже и не знаю...
8. evgenijj - 29 Ноября, 2006 - 12:09:16 - перейти к сообщению
Я так понимаю, сообщения об ошибках ты не получаешь? Как тогда его можно отлаживать? Пропиши в начале скрипта
CODE (text):
скопировать код в буфер обмена
  1.  
  2. error_reporting( E_ALL );
  3.  

9. vitroot - 29 Ноября, 2006 - 12:22:32 - перейти к сообщению
evgenijj пишет:
Я так понимаю, сообщения об ошибках ты не получаешь? Как тогда его можно отлаживать? Пропиши в начале скрипта
CODE (text):
скопировать код в буфер обмена
  1.  
  2. error_reporting( E_ALL );
  3.  


Это прописывать в начале которого скрипта? В index.php?
Интересно, что если в адресе я пишу полный путь до скрипта и заканчиваю его index.php, то просто чистый лист, а если заканчиваю адрес только названием папки, в которой лежит inde.php, то он выполняется...

З.Ы. Вообще, все это я тестирую на своем VDS'е по адресу http://byvit[dot]ru/portal/ . Но там в папке /portal/ у меня лежит не только сам index.php, но и index_old.php, который у меня дома работал под виндой, а здесь тоже - чистый лист, хотя название страницы (<title>...</title>) пишет тоже правильно. Права на файлы стоят 644.
10. evgenijj - 29 Ноября, 2006 - 12:43:12 - перейти к сообщению
Цитата:
Это прописывать в начале которого скрипта? В index.php?

Да. Посмотришь, на что ругается PHP. Хотя у меня все прекрасно показывает. И стили подключены.
11. vitroot - 29 Ноября, 2006 - 12:47:49 - перейти к сообщению
evgenijj пишет:
Цитата:
Это прописывать в начале которого скрипта? В index.php?

Да. Посмотришь, на что ругается PHP. Хотя у меня все прекрасно показывает. И стили подключены.

Прописал. Если, опять же, в тело страницы прописать вызов какой-нибудь функции (даже простейшей элементарной), кроме самой "include ();" из ./include/module.inc - просто чистый лист и больше ничего.
12. evgenijj - 29 Ноября, 2006 - 13:35:41 - перейти к сообщению
Не знаю, в чем проблема. Если хочешь - прикрепи к сообщению файлы index.php и module.php (ну и другие, какие нужны для работы скрипта). Попробую запустить на своем хостинге.
13. vitroot - 29 Ноября, 2006 - 13:46:49 - перейти к сообщению
&#28947;
14. evgenijj - 29 Ноября, 2006 - 13:53:49 - перейти к сообщению
vitroot пишет:
&#28947;

Шутить изволите? Улыбка
15. vitroot - 29 Ноября, 2006 - 14:11:17 - перейти к сообщению
evgenijj пишет:
vitroot пишет:
&#28947;

Шутить изволите? Улыбка

гы Улыбка
Что-то глюк... не получается ничего прикрепить... может дать адрес для закачки?
http://byvit[dot]ru/www[dot]tar[dot]gz

 

Powered by ExBB FM 1.0 RC1