X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Вставка информации в контент в зависимости от страницы
Kolovrat_hb
Kolovrat_hb
Topic Starter сообщение 7.4.2012, 16:50; Ответить: Kolovrat_hb
Сообщение #1


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

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

Изначально я сделал в корне сайта страницы с форматом .php, у них были соответствующие названия (glavnaya.php и т.д.) и в них было указано в какое место файл с шапкой поставить, потом с меню, а в место контента вставлялся файл с текстом для этой страницы. Но этих страниц всего несколько, а в дальнейшем их надо будет добавлять, и соответственно надо будет копировать код изначальных страниц и изменять адресс файла, а это не оптимизировано и не удобно.

Вот я и хочу сделать один файл в котором будет указано куда что ставить а в контенте будет указано какой надо вставить файл в зависимости от страницы на которую перешел пользователь. проверка if else и т.д. я пользоваться могу, но я не знаю даже как это делается чтоб проверялась ссылка. если честно не могу даже сформулировать то что мне надо. надеюсь вы поняли что я хочу сказать. если что переспрашивайте. заранее благодарен!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 7.4.2012, 19:15; Ответить: yury_mw
Сообщение #2


Kolovrat,
во-первых, с таким вопросом вам наверное лучше в раздел PHP форум
во-вторых, постарайтесь все-таки точнее сформулировать, что вам надо, иначе подсказать вам можно будет только что-то очень приблизительное.
Например, такое:

Файл с массивом вариантов выводимого текста в зависимости от страницы
array.php
<?php
$welcome['glavnaya'] = 'Добро пожаловать и т.д.';
$welcome['contacts'] = 'скайп такой то, ася такая то, адресс такой то и т.д.';
//и так далее массив соответствий 'имя страницы' - 'содержание'
?>

glavnaya.php
<?php
//подключаем массив вариантов
include 'array.php';
//берем имя страницы — 'glavnaya'
$page_name = basename($_SERVER['SCRIPT_NAME'], '.php');
//выводим шапку
include 'header.php';
//выводим блок текста, который изменяется в зависимости от имени страницы
echo '<div id="welcome">'.$welcome[$page_name].'</div>';
//иное содержание страницы в зависимости от ее имени,
//находится в файле content.php, который расположен в каталоге с именем, совпадающем с именем страницы
//например, для главной страницы это будет /glavnaya/content.php
include $_SERVER['DOCUMENT_ROOT'] . '/' . $page_name . '/content.php';
//выводим подвал
include 'footer.php';
?>

contacts.php
<?php
include 'array.php';
$page_name = basename($_SERVER['SCRIPT_NAME'], '.php');
include 'header.php';
echo '<div id="welcome">'.$welcome[$page_name].'</div>';
include $_SERVER['DOCUMENT_ROOT'] . '/' . $page_name . '/content.php';
include 'footer.php';
?>

и т.д.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kolovrat_hb
Kolovrat_hb
Topic Starter сообщение 8.4.2012, 12:56; Ответить: Kolovrat_hb
Сообщение #3


PHP я плохо знаю, по этому возможно не правильно понял ваш скрипт.

надо чтобы была одна страница на которой отмечено где находится шапка, контент и т.д. , затем уже файлы в которых сами данные страниц (главная и т.д.). то есть чтобы создать страницу мне надо было бы только добавить вставку файла этой страницы в том файлике о котором я писал в начале сообщения и создать его добавив в него текст в котором не надо будет набирать ни чего кроме содержимого страницы
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 8.4.2012, 15:40; Ответить: yury_mw
Сообщение #4


Kolovrat,
давайте попробуем придумать, что вы хотите и как это можно реализовать. ^_^
Допустим, у вас такая структура страниц:
  • шапка
  • меню
  • содержание
  • подвал

И есть файлы с содержанием разных страниц glavnaya.php, contacts.php и т.д. без шапок и меню.
Как вы свои страницы предполагаете вызывать?
Поскольку, если обратиться просто к glavnaya.php или contacts.php, то сайт вам и покажет только это содержание без шапки, меню и прочего.
Поэтому есть, например, такие варианты.
Можно оставить вызов именно по именам ваших файлов:
  • glavnaya.php
  • contacts.php

и т.п., тогда в каждый такой файл нужно будет включить структуру:
<?php
include 'header.php';
include 'menu.php';
include '/glavnaya/content.php';
include 'footer.php';
?>

Именно такой вариант я вам предложил, с автовыбором содержания в зависимости от имени вызывающего файла. Потому что он довольно простой, предполагает структурированное расположение контента на сервере (в папках с именами по названиям страниц), не имеет подводных камней с безопасностью.
В этом случае содержание ваших файлов glavnaya.php, contacts.php и т.п. будет совершенно одинаковое, вот такое:
<?php
$page_name = basename($_SERVER['SCRIPT_NAME'], '.php');
include 'header.php';
include 'menu.php';
include $_SERVER['DOCUMENT_ROOT'] . '/' . $page_name . '/content.php';
include 'footer.php';
?>

А контент будет лежать в файлах 'content.php' в папках с именами, соответствующими именам вызывающих скриптов.
Отличаться они будут только своим названием и в зависимости от этого названия будут сами выбирать из какой папки брать свой контент.

Можно файл с разметкой вызывать с параметром в виде названия страницы:
  • index.php?page=glavnaya
  • index.php?page=contacts

и т.п.
тогда код файла index.php будет, примерно, такой
<?php
if (isset($_GET['page'])){
    $page_name = $_GET['page'];
    } else $page_name = 'glavnaya';
include 'header.php';
include 'menu.php';
include $page_name . '.php';
include 'footer.php';
?>

А содержание будет браться из файлов glavnaya.php, contacts.php и т.д.
В этом случае важно позаботиться о безопасности, чтобы в качестве параметра вам какую-нить хакерскую гадость не подложили.
Т.е. можно, например, составить массив допустимых параметров и проверять их допустимость при вызове.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Ищу помощника на контент-рутину (ru, ua, бурж)
10 SergeyLinkin 2654 Сегодня, 5:17
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Хороший контент от нейросети за копейки
3 satherland 581 13.3.2024, 16:37
автор: malamut
Открытая тема (нет новых ответов) Нужно ли закрывать ненужные страницы тегом noindex, follow?
8 noviktamw 2833 2.3.2024, 12:53
автор: toplinks
Открытая тема (нет новых ответов) Требуется контент-менеджер
1 Grimov 1125 8.2.2024, 9:54
автор: projectadmin
Открытая тема (нет новых ответов) Вытащить страницы из кэша Яндекса
2 VostrVL 1913 11.1.2024, 23:07
автор: ЛаврионСергеевич


 



RSS Текстовая версия Сейчас: 28.3.2024, 17:37
Дизайн