Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 2

Изменение title с оператором switch

26.02.2013, 14:44. Показов 1765. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят прошу помощи.
Администрирую сайт нужно кое-что подверстать, на сайте, меняется только центральная часть с помощью оператора switch вида:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            <?  if (isset($_GET['sub']))
                    {$sub=(int)$_GET['sub'];}
                else {$sub=0;}
                if($sub!=2 and $sub!=6 and $sub!=9)
                    {include ("module/left.php");}
                    ?>
                <?
 
                switch ($sub)
                    {
                    case 1: include('module/about.php'); break; 
                    case 2: include('module/product.php'); break;
                    case 3: include('module/we.php'); break;   
                    case 4: include('module/price.php'); break;   
                    case 5: include('module/contact.php'); break; ?>
Так вот вопрос в следующем, можно ли менять title при переходе на какую либо страницу?

Ведь по сути это не страницы, а просто включаемые элементы.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2013, 14:44
Ответы с готовыми решениями:

PHP выбор файлов оператором switch
Пытаюсь разобраться со структурой сайта при помощи оператора switch на php, который выбирает, какой файл контента включать на страницу в...

Ошибка с оператором switch
Почему он не признает команду res?и программа не работает string a, res; Console.Write(&quot;Введiть...

Программа с оператором SWITCH
Написал вот такую прогу выводящую дни недели. Подскажите пожалуйста или дайте часть кода, как можно реализовать то же самое через switch и...

11
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
26.02.2013, 15:35
PHP
1
2
3
4
5
6
7
8
9
10
11
12
switch ($sub){
    case 1:
        $title='title 1';
        require_once 'module1.php';
        break;
    case 2:
        $title='title 2';
        require_once 'module2.php';
        break;
    dafault:
        $title='dafault';
}
HTML5
1
<title><?=$title?></title>
1
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
26.02.2013, 15:46
Цитата Сообщение от casual_visitor Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
switch ($sub){
    case 1:
        $title='title 1';
        require_once 'module1.php';
        break;
    case 2:
        $title='title 2';
        require_once 'module2.php';
        break;
    dafault:
        $title='dafault';
}
HTML5
1
<title><?=$title?></title>
Как это может помочь? Ведь я думаю там следующая конструкция.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<head>
    <title></title>
</head>
<body>
<?  if (isset($_GET['sub']))
                    {$sub=(int)$_GET['sub'];}
                else {$sub=0;}
                if($sub!=2 and $sub!=6 and $sub!=9)
                    {include ("module/left.php");}
                    ?>
                <?
 
                switch ($sub)
                    {
                    case 1: include('module/about.php'); break; 
                    case 2: include('module/product.php'); break;
                    case 3: include('module/we.php'); break;   
                    case 4: include('module/price.php'); break;   
                    case 5: include('module/contact.php'); break; ?>
 
</body>
</html>
То выходит, что титл выполняется раньше чем конструкция switch. Я бы сделал, что-то типа такого
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<html>
<head>
    <?
/*Получаем ид страницы*/
    if (isset($_GET['sub']))
    {
        $sub=(int)$_GET['sub'];
    }
    else
    {
        $sub=0;
    }
/*устанавливаем заголовок*/
    $title = "default";
    switch ($sub)
    {
        case 1: $title = "title1"; break; 
        case 2: $title = "title2"; break;
        case 3: $title = "title3"; break;   
        case 4: $title = "title4"; break;   
        case 5: $title = "title5"; break; 
    }
    ?>
    <title><?=$title;?></title>
</head>
<body>
<?  
/*устанавливаем тело*/
    if($sub!=2 and $sub!=6 and $sub!=9)
    {
        include ("module/left.php");
    }
    switch ($sub)
    {
        case 1: include('module/about.php'); break; 
        case 2: include('module/product.php'); break;
        case 3: include('module/we.php'); break;   
        case 4: include('module/price.php'); break;   
        case 5: include('module/contact.php'); break;
    }
?>
</body>
</html>
0
26.02.2013, 16:04

Не по теме:

Цитата Сообщение от Vlad_IT Посмотреть сообщение
Как это может помочь? Ведь я думаю там следующая конструкция.
Автор об этом умалчивает, но по хорошему все вычисления стараются закончить до начала вывода и не громоздить код в шаблоне. ИМХО

0
26.02.2013, 16:20

Не по теме:

Цитата Сообщение от casual_visitor Посмотреть сообщение
Автор об этом умалчивает, но по хорошему все вычисления стараются закончить до начала вывода и не громоздить код в шаблоне. ИМХО
Я дал пример, и его можно с легкостью перевести в нужный вид, но так более понятнее.

1
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 2
26.02.2013, 16:53  [ТС]
Цитата Сообщение от casual_visitor Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
switch ($sub){
    case 1:
        $title='title 1';
        require_once 'module1.php';
        break;
    case 2:
        $title='title 2';
        require_once 'module2.php';
        break;
    dafault:
        $title='dafault';
}
HTML5
1
<title><?=$title?></title>
Вот этот вариант не помог, но спасибо. Сейчас буду пробовать конструкцию выложенную Vlad_IT

Добавлено через 3 минуты
все верно, title выполняется первее switch, в этом и вся проблема

Добавлено через 15 минут
Vlad_IT большое спасибо, все работает!
0
26.02.2013, 20:23

Не по теме:

свич очень медленный в пыхе, лучше использовать массивы для подобного

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
<head>
<?php
  $sub = isset($_GET['sub']) ? (int) $_GET['sub'] - 1 : 0;
  $arrTitle = array('title1', 'title2', 'title3', 'title4', 'title5');
  $title = isset($arrTitle[$sub]) ? $arrTitle[$sub] : 'default';
?>
</head>
<body>
<?php
  if($sub!=2 and $sub!=6 and $sub!=9)
  {
      include 'module/left.php';
  }
  $arrModules = array('about', 'product', 'we', 'price', 'contact');
  if( isset($arrModules[$sub]) && file_exists('module/' . $arrModules[$sub] . '.php') )
      include 'module/' . $arrModules[$sub] . '.php';
  else
  {
      // ???
  }
?>
</body>
</html>

1
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.02.2013, 17:02
Цитата Сообщение от KOPOJI Посмотреть сообщение
PHP
1
$arrModules = array('about', 'product', 'we', 'price', 'contact');
PHP
1
2
3
4
$arrModules = array(
    'about'   => true,
    'product' => true,
    ...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.02.2013, 17:06
Vovan-VE,
Цитата Сообщение от KOPOJI Посмотреть сообщение
(int) $_GET['sub'] - 1


Добавлено через 1 минуту

Не по теме:

мне лень было писать =>true, поэтому написал так..

0
27.02.2013, 17:32

Не по теме:

Тогда надо было так и написать:

PHP
1
2
3
4
$arrModules = array(
    0 => 'about',
    1 => 'product',
    ...
иначе получается просто список с не важно какими ключами. В любое место списка добавляем новый элемент - и превед %-)

0
27.02.2013, 17:37

Не по теме:

эх.. :sorry:

Цитата Сообщение от KOPOJI Посмотреть сообщение
лень
А добавлять - в конец массива..

0
27.02.2013, 18:02

Не по теме:

Цитата Сообщение от KOPOJI Посмотреть сообщение
А добавлять - в конец массива..
Недокументированные побочные эффекты внезапно. :D

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.02.2013, 18:02
Помогаю со студенческими работами здесь

Загвоздка с оператором switch
Стоит MVS08, при вводе 5 сразу выходит из программы, а когда ошибочно, т.е. ввожу 8, он мне Error! Again the input..., ввожу 5, после...

Программа с оператором switch
Помогите пожалуйста решить простейшую задачу с оператором switch,которая выводит на экран название животного, символизирующего этот год по...

Ошибка с оператором switch
Добрый день! Я писала программу в VS2010, но потом появилась необходимость запустить программу в 2008. После запуска, она ругается на этот...

Работа с оператором switch в цикле
сhar ch; cin.get(ch); switch(ch) { case 'a': cout &lt;&lt; &quot;one &quot; &lt;&lt; endl; break; case 'b': cout &lt;&lt; &quot; two&quot; &lt;&lt; endl; break; case...

Не работает программа с оператором switch
Данные уже даны f=0.5, N=4, i=-4. Ввожу символ W и программа пишет неверный символ, хотя должна сосчитать функцию. В чем дело? #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru