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

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

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

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

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

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

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

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

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


Я подозревал, что в теле нужно будет указать ссылку на переменную которая получается из url. А в меню указать ссылки на страницы. Таким образом при нажатии на меню будет биться url который отправится в тело index'а и привяжется нужная страница.
Только вот я не знаю как это на практике реализовать. С чем этот GET-параметр кушать Недовольство, огорчение
4. Строитель - 17 Января, 2018 - 19:18:19 - перейти к сообщению
ГенералСиська, набросал примитивный поясняющий пример с комментариями
Спойлер (Отобразить)
PS: за основу этот код брать вовсе не обязательно.
5. ГенералСиська - 17 Января, 2018 - 19:27:06 - перейти к сообщению
Большое спасибо за попытки помочь, но я все же повторюсь... Я новичек в php. Вы мне сейчас кинули код в котором я ни черта не понимаю. Какие массивы? Какие ошибки? Какие аргументы? Мне всего лишь нужно извлечь параметр из url и засунуть его в ссылку функции include. Я пытался использовать GET, также попробовал решить через url_parse. Пока не вышло.

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

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

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

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


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

Parse error: syntax error, unexpected '[' in \index.php on line 3
8. Строитель - 17 Января, 2018 - 19:53:53 - перейти к сообщению
ГенералСиська пишет:
Хотелось бы понимать то что я делаю, а не тупо копировать
Без практики одним только чтением вы ничего не поймёте.
ГенералСиська пишет:
Также увы мне не подойдет данный вариант, так как подключаемых страниц планируется очень много.
А он и написан для любого количества модулей. Нужно только в массив с названиями модулей добавить соответствующие названия (по аналогии с этими двумя)
ГенералСиська пишет:
Не хотелось бы хранить их в корне
Храните их где угодно. Просто ссылки подкорректируйте.
(Добавление)
ГенералСиська пишет:
P.S После вставки кода в index получается -

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

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

Спойлер (Отобразить)
9. ГенералСиська - 17 Января, 2018 - 19:58:35 - перейти к сообщению
При добавлении кода в начало кода index'а возникает ошибка:

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

Получается ошибка в строке - $modules = [
(Добавление)
Методом протыка вроде бы все получилось. Большое спасибо за готовое решение. Надеюсь удастся разобраться как это все работает.
10. Строитель - 17 Января, 2018 - 20:10:45 - перейти к сообщению
ГенералСиська пишет:
При добавлении кода в начало кода index'а возникает ошибка:
Я выше ответил на этот вопрос. Свой пример упростил. Успехов! )

 

Powered by ExBB FM 1.0 RC1