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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: не передаётся переменная при использование require

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
koka
Отправлено: 22 Июня, 2011 - 14:08:16
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Здравствуйте!!! Предположим, у меня есть файл index.php, где я задаю переменную и подключаю php файл shablon.php

PHP:
скопировать код в буфер обмена
  1. $TITLE = "Автомагазин  РУЛЕВОЙ - запчасти для иномарок в Ижевске";
  2. require "shablon.php";
  3.  


В файле шаблон следующий код:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP $BASEURL="http://rulevoi.net/"; ?>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6.         <title> <?PHP echo $TITLE; ?> </title>
  7.  


Однако title выводится пустой.

В описании написано:
Цитата:
Конструкция require позволяет включать файлы в PHP сценарий до выполнения сценария PHP


Следовательно, переменная $TITLE должна быть распечатана в заголовке страницы.
Или я не прав???

Как правильно и удобно передать значение переменных включаемым файлам???

PS. Я хочу создать файл шаблона страниц сайта. Потом создаю php файл нужной страницы, где объявляю переменные, например, тот же заголовок веб-страницы, содержание центральной колонки и т.п., после чего вызываю файл шаблон, который выводит страницу, используя данные переменные.

На мой взгляд, эта схема будет достаточно удобно. Буду рад, если вы подскажете более гибкую и красивую схему Закатив глазки


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Coder1994
Отправлено: 22 Июня, 2011 - 14:10:18
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




попробуйте вставить
 
 Top
koka
Отправлено: 22 Июня, 2011 - 14:21:02
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Coder1994 пишет: попробуйте вставить


Coder1994, куда именно надо вставить???

Пробовал так (в файле index.php, который вызывает файл шаблона)

PHP:
скопировать код в буфер обмена
  1. global $TITLE = "Автомагазин  РУЛЕВОЙ - запчасти для иномарок в Ижевске";


Выдаёт ошибку
PHP:
скопировать код в буфер обмена
  1. Parse error: syntax error, unexpected '=', expecting ',' or ';' in /home/cp945785/public_html/index2.php on line 4


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Coder1994
Отправлено: 22 Июня, 2011 - 14:23:32
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




в файл который вы подключаете.
 
 Top
koka
Отправлено: 22 Июня, 2011 - 14:29:50
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Coder1994, к сожалению, не заработало.

Пробовал вывести в подключаемом файле так

PHP:
скопировать код в буфер обмена
  1. <div class='centerblock'>
  2. <?PHP echo $GLOBALS["CONTENT"]; ?>
  3. </div>


и так

PHP:
скопировать код в буфер обмена
  1. <div class='centerblock'>
  2. <?PHP echo global $CONTENT; ?>
  3. </div>
  4. <div class='rightblock'>


в первом случае не выводится ничего, во втором случае выдаёт ошибку.
PHP:
скопировать код в буфер обмена
  1. Parse error: syntax error, unexpected T_GLOBAL in /home/cp945785/public_html/page.php on line 70


Вот здесь было написано, что не глобальная переменная должна быть видна в во всех require и include
http://www.php[dot]ru/manual/languag[dot][dot][dot]ables[dot]scope[dot]html


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Coder1994
Отправлено: 22 Июня, 2011 - 14:32:17
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




вообще зачем вам известно, что делает
?
require вызывает файл до выполнения кода, используйте include_once
 
 Top
OrmaJever Модератор
Отправлено: 22 Июня, 2011 - 14:33:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




koka пишет:
<?PHP $BASEURL="http://rulevoi.net/"; ?>
<!DOCTYPE html>
<html>
<head>
<title> <?PHP echo $TITLE; ?> </title>

Не понял Не понял а где там вобще require?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Coder1994
Отправлено: 22 Июня, 2011 - 14:34:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




OrmaJever пишет:
koka пишет:
<?PHP $BASEURL="http://rulevoi.net/"; ?>
<!DOCTYPE html>
<html>
<head>
<title> <?PHP echo $TITLE; ?> </title>

Не понял Не понял а где там вобще require?

это index.php
PHP:
скопировать код в буфер обмена
  1. $TITLE = "Автомагазин  РУЛЕВОЙ - запчасти для иномарок в Ижевске";
  2. require "shablon.php";
 
 Top
koka
Отправлено: 22 Июня, 2011 - 14:39:23
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




пробовал и require и include, всё равно значение перемнной в файле шаблона не выводится.
Немного запутался со значение этих функций. Если я использую require, то PHP файл, который я подключаю, не будет выполнен???


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Coder1994
Отправлено: 22 Июня, 2011 - 14:40:35
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




koka пишет:
пробовал и require и include, всё равно значение перемнной в файле шаблона не выводится.
Немного запутался со значение этих функций. Если я использую require, то PHP файл, который я подключаю, не будет выполнен???

он выполняется до исполнения остального кода
 
 Top
PATCH
Отправлено: 22 Июня, 2011 - 14:42:04
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




задам тупой вопрос) а у тебя index.php в php тегах? ну
PHP:
скопировать код в буфер обмена
  1. <?
  2. $TITLE = "Автомагазин  РУЛЕВОЙ - запчасти для иномарок в Ижевске";
  3. require "shablon.php";
  4. ?>  


и бо ты выложил без них и это все объяснило бы) и require "shablon.php"; - твой шаблон лежит в корневой папке с index.php?

(Отредактировано автором: 22 Июня, 2011 - 14:44:11)

 
 Top
koka
Отправлено: 22 Июня, 2011 - 14:44:45
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




PATCH пишет:
задам тупой вопрос) а у тебя index.php в php тегах? ну
PHP:
скопировать код в буфер обмена
  1. <?
  2. $TITLE = "Автомагазин  РУЛЕВОЙ - запчасти для иномарок в Ижевске";
  3. require "shablon.php";
  4. ?>  


и бо ты выложил без них и это все объяснило бы)



PATCH, да. Вот полный код index.php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  
  4. $TITLE = "Автомагазин  РУЛЕВОЙ - запчасти для иномарок в Ижевске";
  5. $CONTENT = "<UL>
  6.  
  7. <li> Детали для любых иностранных автомобилей </li>
  8.  
  9. <li> Доставка б/у деталей с авторазборок Беларусии, Санкт-Петербурга и Москвы </li>
  10.  
  11. <li> Индивидуальный подход, предпродажная подготовка </li>
  12.  
  13. <li> Тесное сотрудничество с автосервисами </li>
  14.  
  15. <li> Широкий выбор запчастей для автомобилей
  16. <b> Renault Logan,Megane,Symbol;
  17. Daewoo Nexia; Chevrolet Lanos по наличию
  18. </b>
  19. </li>
  20.  
  21. </ul>";
  22.  
  23.  
  24.  
  25. include_once "http://rulevoi.net/page.php";
  26.  
  27.  
  28.  
  29.  
  30.  
  31. ?>


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
PATCH
Отправлено: 22 Июня, 2011 - 14:46:48
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




Оо а разве можно подключать файл через внешку? т.е указывая полный путь через домен до файла Оо
 
 Top
koka
Отправлено: 22 Июня, 2011 - 14:47:55
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Может быть, у меня что-то с тегами php неправильно в файле shablon.php???

Вот начало файла


PHP:
скопировать код в буфер обмена
  1. <?PHP $BASEURL="http://rulevoi.net/";
  2. ?>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6.         <title> <?PHP echo $TITLE; ?> </title>


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Coder1994
Отправлено: 22 Июня, 2011 - 14:48:47
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. include_once $_SERVER['DOCUMENT_ROOT'] . '/page.php';

Вас спасёт
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB