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 :: Универсальная страница index с подключаемыми php страницами в теле страницы

 PHP.SU

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


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

> Без описания
ГенералСиська
Отправлено: 17 Января, 2018 - 18:18:37
Post Id


Новичок


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


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




Здравствуйте форумчане. К сожалению не нашел нужной информации в бескрайнем тырнете, поэтому обращаюсь за помощью. Прошу не закидывать кирпичами если вопрос задавался. Увы, ответа я не нашел.
Так как я только начинаю познавать php, я создал index в виде таблицы. В верхнюю ячейку через include включил php меню, в нижнюю соответственно php футера. В тело хочу подключать необходимые php страницы в зависимости от того на какую меню нажмет пользователь. К примеру нажимая на пункт "контакты" где ссылка con.php в тело подключалась страница con.php, на галерея - galery.php соответственно. При этом все должно происходить непосредственно на index.php.

Можно ли это реализовать? Если да, то как? Если нет, то какие есть альтернативы не прибегая к sql. Подключаемые страницы будут довольно массивные и sql хотелось бы использовать исключительно как базу данных, а не хранилище сайта (нашел способ через id страницы получая данные о странице из sql).

Заранее большое спасибо
 
 Top
Строитель Модератор
Отправлено: 17 Января, 2018 - 18:29:29
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




ГенералСиська пишет:
К примеру нажимая на пункт "контакты" где ссылка con.php в тело подключалась страница con.php, на галерея - galery.php соответственно
Нажимая на "контакты" формируйте ссылку с GET-параметрами таким образом, чтобы она (ссылка) имела примерно такой вид: index.php?con

Нажимая на "галерея" формируйте ссылку с GET-параметрами таким образом, чтобы она (ссылка) имела примерно такой вид: index.php?galery

А в файле index.php проверяйте значения GET-параметров, и в зависимости от них подключайте необходимый модуль.
 
 Top
ГенералСиська
Отправлено: 17 Января, 2018 - 18:33:38
Post Id


Новичок


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


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




Строитель пишет:
ГенералСиська пишет:
К примеру нажимая на пункт "контакты" где ссылка con.php в тело подключалась страница con.php, на галерея - galery.php соответственно
Нажимая на "контакты" формируйте ссылку с GET-параметрами таким образом, чтобы она (ссылка) имела примерно такой вид: index.php?con

Нажимая на "галерея" формируйте ссылку с GET-параметрами таким образом, чтобы она (ссылка) имела примерно такой вид: index.php?galery

А в файле index.php проверяйте значения GET-параметров, и в зависимости от них подключайте необходимый модуль.


Я подозревал, что в теле нужно будет указать ссылку на переменную которая получается из url. А в меню указать ссылки на страницы. Таким образом при нажатии на меню будет биться url который отправится в тело index'а и привяжется нужная страница.
Только вот я не знаю как это на практике реализовать. С чем этот GET-параметр кушать Недовольство, огорчение
 
 Top
Строитель Модератор
Отправлено: 17 Января, 2018 - 19:18:19
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




ГенералСиська, набросал примитивный поясняющий пример с комментариями
Спойлер (Отобразить)
PS: за основу этот код брать вовсе не обязательно.
 
 Top
ГенералСиська
Отправлено: 17 Января, 2018 - 19:27:06
Post Id


Новичок


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


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




Большое спасибо за попытки помочь, но я все же повторюсь... Я новичек в php. Вы мне сейчас кинули код в котором я ни черта не понимаю. Какие массивы? Какие ошибки? Какие аргументы? Мне всего лишь нужно извлечь параметр из url и засунуть его в ссылку функции include. Я пытался использовать GET, также попробовал решить через url_parse. Пока не вышло.

Проще говоря что мне надо - тыкаем в меню на "Контакты" летим по ссылке index.php?con.
Попав на страницу наш index извлекает из ссылки через которую мы сюда попали(index.php?con) последнюю часть то-есть con и засовывает в нашу ссылку на подключаемую страницу. Что-то типа inc/$id.php. (подключаемые страницы лежат в отдельной папке, так как их будет очень много)

P.S Я не знаю как технически это сделать, то-бишь какими функциями, тегами и т.д. Теоретически я понимаю как это работает. Просто не знаю какие инструменты нужны для реализации.

Спасибо
 
 Top
Строитель Модератор
Отправлено: 17 Января, 2018 - 19:33:09
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




ГенералСиська, а скопировать код вы в состоянии? Закатив глазки Скопируйте и сохраните его в index.php. А потом запустите в браузере и посмотрите на результат - так будет понятнее. Всё, что потом останется сделать, так это положить рядом с файлом index.php ваши два файла galery.php и con.php.
 
 Top
ГенералСиська
Отправлено: 17 Января, 2018 - 19:34:56
Post Id


Новичок


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


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




Хотелось бы понимать то что я делаю, а не тупо копировать Улыбка

Также увы мне не подойдет данный вариант, так как подключаемых страниц планируется очень много. Не хотелось бы хранить их в корне


P.S После вставки кода в index получается -

Parse error: syntax error, unexpected '[' in \index.php on line 3

(Отредактировано автором: 17 Января, 2018 - 19:38:15)

 
 Top
Строитель Модератор
Отправлено: 17 Января, 2018 - 19:53:53
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




ГенералСиська пишет:
Хотелось бы понимать то что я делаю, а не тупо копировать
Без практики одним только чтением вы ничего не поймёте.
ГенералСиська пишет:
Также увы мне не подойдет данный вариант, так как подключаемых страниц планируется очень много.
А он и написан для любого количества модулей. Нужно только в массив с названиями модулей добавить соответствующие названия (по аналогии с этими двумя)
ГенералСиська пишет:
Не хотелось бы хранить их в корне
Храните их где угодно. Просто ссылки подкорректируйте.
(Добавление)
ГенералСиська пишет:
P.S После вставки кода в index получается -

Parse error: syntax error, unexpected '[' in \index.php on line 3
А это потому, что у вас PHP версии, которая ниже версии 5.4

Вам надо или поднять версию PHP, или заменить объявления массивов:

Спойлер (Отобразить)
 
 Top
ГенералСиська
Отправлено: 17 Января, 2018 - 19:58:35
Post Id


Новичок


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


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




При добавлении кода в начало кода index'а возникает ошибка:

Parse error: syntax error, unexpected '[' in Z:\home\test.ru\www\index.php on line 3

Получается ошибка в строке - $modules = [
(Добавление)
Методом протыка вроде бы все получилось. Большое спасибо за готовое решение. Надеюсь удастся разобраться как это все работает.
 
 Top
Строитель Модератор
Отправлено: 17 Января, 2018 - 20:10:45
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




ГенералСиська пишет:
При добавлении кода в начало кода index'а возникает ошибка:
Я выше ответил на этот вопрос. Свой пример упростил. Успехов! )
 
 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