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 :: Передать значение переменной в др фаил

 PHP.SU

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


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

> Описание: Создать переменную и передать её значение из одного файла в др.
Antowka
Отправлено: 26 Октября, 2012 - 12:31:26
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2012  


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




Нужна помощь:
Есть сайтик написанный на php + smarty, есть блок новостей, его вид задаётся в файле tpl, он выводит все новости, а мне нужно эти же новости выводить на главную, но только три шт, самые свежие, я написал второй шаблончик который выводит по три штуки НО!, теперь встала задача чтобы шаблончики переключались в зависимости с какой стр они подгружаются. Я написал условие if-else, и они переключаются по нему, но для его работы необходимо передать со страницы где он запрашивается значиние в переменную, которая управляет условием.
Т.е. думаю в сторону массива $REQUEST, добавить него своё значение, чтобы при загрузке стр, это значение инициализировалось. Вот только как это реализоать. чтобы значение попадало туда без формы отправки.

схематично:

1) main.tpl
$selector="1"
{module name="publication function="show_publication" catigory_id="news"} //smarty - это строкой подключается вывод новостей

2) news.tpl
$selector="любое значение"

3) обработчки.php :

в обработчике есть доступ через $REQUEST[catigory_id] к catigory_id, может можно как-то добавить своё значение например $REQUEST[selector]???

CODE (htmlphp):
скопировать код в буфер обмена
  1. if($selector=="1"){
  2. исполнить шаблон 1
  3. }
  4. else
  5. {
  6. исполнить шаблон 2
  7. }
  8.  

как передать эти $selector в обработчик.php

(Отредактировано автором: 26 Октября, 2012 - 13:37:01)

 
 Top
Okula
Отправлено: 26 Октября, 2012 - 13:32:36
Post Id



Участник


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


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




Antowka, передавай через GET. В условии оператор равенства это двойной символ "=". Тоесть, должно быть записано так:
PHP:
скопировать код в буфер обмена
  1. if($selector=="1"){
  2. исполнить шаблон 1
  3. }
  4. else
  5. {
  6. исполнить шаблон 2
  7. }

Просто символ "=" - это оператор присвоения.
 
 Top
Antowka
Отправлено: 26 Октября, 2012 - 13:42:46
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2012  


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




Я только начинаю изучать php в $_get или $_post могу что-то отправлять только формой, а как это сделать при загрузке стр автоматом.
А было бы ещё лучше добавить своё значение, типа $REQUEST[selector] в в реквест. Тогда вообще можно красиво оформить отправку через smarty.

например:
{module name="publication function="show_publication" catigory_id="news" selector="1"}

а в обработчике получить из в:

$select=$REQUEST[selector]

Как можно добавить новое значение в массив $REQUEST. Это реально?
 
 Top
Okula
Отправлено: 26 Октября, 2012 - 13:54:24
Post Id



Участник


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


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




Antowka, все значения переданные через ссылку - переданы методом GET.
Для GET никакая форма не нужна.
 
 Top
Antowka
Отправлено: 26 Октября, 2012 - 14:15:15
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2012  


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




Okula пишет:
Antowka, все значения переданные через ссылку - переданы методом GET.
Для GET никакая форма не нужна.


Дурацкий вопрос наверное, а как сформировать get запрос кодом в ссылке? можно код подсказать?

Ведь так не будет работать?

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $_GET[selector]=1;
  3. ?>
 
 Top
Okula
Отправлено: 26 Октября, 2012 - 14:34:38
Post Id



Участник


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


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




Например есть такая ссылка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://site.ru/page.php?id=3

Всё что идёт после "?" это GET параметры.
В этой ссылке 1 GET параметр - параметр id со значением 3.
Перейдя по этой ссылке можно будет получить значение id таким образом:
PHP:
скопировать код в буфер обмена
  1. echo $_GET['id']; // выведет 3
 
 Top
Antowka
Отправлено: 26 Октября, 2012 - 14:43:11
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2012  


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




Okula пишет:
Например есть такая ссылка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://site.ru/page.php?id=3

Всё что идёт после "?" это GET параметры.
В этой ссылке 1 GET параметр - параметр id со значением 3.
Перейдя по этой ссылке можно будет получить значение id таким образом:
PHP:
скопировать код в буфер обмена
  1. echo $_GET['id']; // выведет 3


Это я понимаю ;)

загвоздка в том что у меня это главная стр сайта, то есть всё открывается при запросе rctcars.com, и блок новостей я хочу вывести без кликов по ссылкам
 
 Top
thesameson
Отправлено: 26 Октября, 2012 - 20:57:47
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Окт. 2012  


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




Antowka пишет:
загвоздка в том что у меня это главная стр сайта, то есть всё открывается при запросе rctcars.com, и блок новостей я хочу вывести без кликов по ссылкам

PHP:
скопировать код в буфер обмена
  1. if($_SERVER['REQUEST_URI']=='/'){
  2. // главная
  3. }

(Отредактировано автором: 26 Октября, 2012 - 21:03:29)

 
 Top
Antowka
Отправлено: 26 Октября, 2012 - 22:16:30
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2012  


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




thesameson пишет:
Antowka пишет:
загвоздка в том что у меня это главная стр сайта, то есть всё открывается при запросе rctcars.com, и блок новостей я хочу вывести без кликов по ссылкам

PHP:
скопировать код в буфер обмена
  1. if($_SERVER['REQUEST_URI']=='/'){
  2. // главная
  3. }


Спосибо большое!!! Возьму на вооружение этот вариант, но я не дождался и методом тыка сделал всё так, как предпологал и оно заработало.

в main.tpl
{module name="publications" function="show_publications" category_id="News" selector="1" }

а в обработчике php

получили значение selector так

$select=$_REQUEST[selector];
if(.... ну и так далее. Спасибо всем что помогли!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB