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

Связь переменных между страницами

22.03.2013, 08:38. Показов 2872. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. При создании своего первого сайта на php столкнулся с рядом трудностей связанных с организацией структуры сайта. В моем случае сайт имеет следующий вид:
index.php - страница компоновки других страниц в одном месте.
В страницу index.php добавляется страница tablica.php (страничка дизайна сайта, именно там расположена блочная организация сайта).
В самой таблице на месте текста, меню, баннеров и пр. стоят переменные запаралеленные с index.php.
Сами же переменные также являются ссылками на отдельные странцы (например menu.php или text.php. А меню в свою очередь ссылается на файл .css.
Тем самым я разбил весь сайт на раздельные фрагменты, изменение которых повлечет изменение всего сайта.
Теперь ВОПРОС!!!:
Как в переменной (являющейся ссылкой на страничку, в моем случае это menu.php) добавить условие, при котором в случае нажатии на какую либо кнопку меню менялась переменная на главной страничке index.php и тем самым менялся основной текст страницы???
Для наглядности выкладываю код:
index.php
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
<?php
//Вставляю переменные в таблице
$text = ''; 
ob_start();
include('o_nas.html');
$text = ob_get_contents();
ob_end_clean();
 
$partner = ''; 
ob_start();
include('partner.php');
$partner = ob_get_contents();
ob_end_clean();
 
$baner = ''; 
ob_start();
include('baner.php');
$baner = ob_get_contents();
ob_end_clean();
//Вставляю таблицу 
include('tablica.php');
//Обозначаю имя страницы 
$title = 'Главная страница'; 
?>
tablica.php(фрагмент кода)
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<tr> 
<!-- ###### Вертикальное меню ##### -->
<td bgcolor="#61615F" valign="top" class="style3"><? include('menu.php'); ?></td>
menu.php (часть кода)
<table cellspacing="0" cellpadding="0" valign="top" style="width: 243px; height: 400px" align="center" class="style2"><tr>
<td valign="top" class="style3" style="width: 250px; height: 400px">
<ul id="nav" class="style2">
 
<li class="style2"><a href="1" class="style2"><strong>Виды работ</strong></a></li>
<li class="style2"><a href="12" class="style2"><strong>Примеры работ</strong></a></li>
<li class="style2"><a href="123" class="style2"><strong>Статьи</strong></a></li>
<li class="style2"><a href="1234" class="style2"><strong>Эксперементы</strong></a></li>
</ul>
Т.е. нужно чтобы при нажатии на гиперссылку в menu.php менялась переменная $text в Index и соответственно связь со страницей.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2013, 08:38
Ответы с готовыми решениями:

Переход между страницами
Нужно сделать так, чтобы на страницу можно было перейти только с определенной другой страницы. можно поподробней с кодом пожалуйста =)

Переход между страницами
Работаю с Denwer Есть две обычные php страницы. Пишу в браузере http://localhost/mysite.com Открывается index.php Теперь хочу с...

Не передаются сессии между страницами
Всем привет подскажите у меня проблема не передаться сессии на другую страницу скрипта. Раньше переовались а сейчас перестали. ...

7
 Аватар для SFED
119 / 119 / 32
Регистрация: 09.07.2011
Сообщений: 203
22.03.2013, 08:55
Гиперсылка может передавать переменные методом GET:
HTML5
1
<a href="index.php?page=about">Ссылка 1</a>
а в index.php обрабатывай GET-запрос и выводи нужный текст:
PHP
1
2
3
4
5
6
7
<?php
if($_GET['page'] == "about") {
    include('o_nas.html');
} elseif ($_GET['page'] == "другое значение") {
    include('другое.html');
} // и т.д.
?>
Пример банальный, но думаю даст пищу для размышлений...
1
0 / 0 / 0
Регистрация: 22.03.2013
Сообщений: 4
22.03.2013, 10:54  [ТС]
Пищу дал. Перечитал множество уроков про get но все равно никак не получается связать переменную $text со ссылками в mebu.php и вывести все это в tablica.php Можете разъяснить поподробнее, что куда подставлять?
0
 Аватар для SFED
119 / 119 / 32
Регистрация: 09.07.2011
Сообщений: 203
22.03.2013, 11:00
покажи листинги. что хранится в остальных файлах (tablica.php и др.)
1
0 / 0 / 0
Регистрация: 22.03.2013
Сообщений: 4
22.03.2013, 11:10  [ТС]
tablica.php
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
<title><?php echo $title;?></title>
 
 
<style type="text/css">
 
.style1 {
                background-size: 100% 100%;
}
</style>
</head>
 
<body background="https://www.cyberforum.ru/images/fon.jpg" 
style="background-attachment: fixed" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" onLoad="dynAnimation()" language="Javascript1.2">
 
<div align="center">
 
<table border="0" cellspacing="0" cellpadding="0" height="782" width="1018">
    <tr>
        <td width="2" rowspan="7" bgcolor="#466177">&nbsp;</td>
        <td height="108" colspan="5">
        <img border="0" src="https://www.cyberforum.ru/images/shapka.jpg" bgcolor="#466177" width="1016" height="236"></td>
        <td width="2" rowspan="7" bgcolor="#466177">&nbsp;</td>
    </tr>
    <tr>
  <!-- ###### Горизонтальное меню ##### -->  
 
        <td height="35" background="https://www.cyberforum.ru/images/menu_seredina.jpg" colspan="5">
        </td>
    </tr>
    <tr>
        <td height="45" align="right" bgcolor="#61615F" valign="top">
        <img border="0" src="https://www.cyberforum.ru/images/menu_seredina1.jpg" width="274" height="46"></td>
        <td height="46" bgcolor="#61615F" align="left" valign="top" colspan="3">
        <img border="0" src="https://www.cyberforum.ru/images/menu_seredina12.jpg"></td>
        <td height="46" bgcolor="#61615F" valign="bottom">
        <img border="0" src="https://www.cyberforum.ru/images/menu_seredina123.jpg" width="165" height="49"></td>
    </tr>
    <tr>    
<!-- ###### Вертикальное меню ##### -->
        <td bgcolor="#61615F" valign="top" class="style3"><? include('menu.php'); ?></td>
        <td background="https://www.cyberforum.ru/images/sred_tabl1.jpg" bgcolor="#61615F" align="left" valign="top" width="26" height="700">
</td>
 
<!-- ###### Основной текст страницы -->
 
        <td valign="top" bgcolor="#C6C8BD" width="524.5" height="700">
        <? 
    
        echo $text;
        
        ?>
        
        </td>
        <td background="https://www.cyberforum.ru/images/sred_tabl2.jpg" bgcolor="#61615F" align="left" valign="top" width="25">
</td>
 
<!--###### Колонка партнеров-->
 
        <td background="https://www.cyberforum.ru/images/menu_seredina22.jpg" bgcolor="#61615F" valign="top"  height="700"><? echo $partner;?>
        </td>
    </tr>
    <tr>
        <td height="19" bgcolor="#61615F" width="270">&nbsp;</td>
        <td height="19" bgcolor="#61615F" align="center" valign="top" colspan="3">
        <img border="0" src="https://www.cyberforum.ru/images/menu_seredina3.jpg"></td>
        <td height="19">
        <img border="0" src="https://www.cyberforum.ru/images/menu_seredina31.jpg" width="165" height="24"></td>
    </tr>
    <tr>
    
<!--Колонка банеров-->
 
        <td background="https://www.cyberforum.ru/images/niz.jpg" height="52" colspan="5" valign="bottom" bgcolor="#61615F" class="style1">        
        <? echo $baner;?>
        </td>
    </tr>
    
    <tr>
        <td colspan="5" valign="bottom" class="style11">
</td>
        </tr>
 
    
    
    
    
    
    </table>
</div>
 
</body>
 
</html>
menu.php



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
<link rel="stylesheet" type="text/css" href="images.css"/>
<style type="text/css">
.style2 {
                text-align: left;
                font-family: "Palatino Linotype";
                font-size: 18px;
                font-style: inherit;
                vertical-align: 6px;
                text-indent: 10px;
                text-decoration: none;
                color: #000000;
                line-height: 200%;
}
.style3 {
                text-align: left;
                font-family: "Palatino Linotype";
                font-size: 0px;
                font-style: inherit;
                vertical-align: top;
                text-indent: 10px;
                text-decoration: none;
}
</style>
 
<table cellspacing="0" cellpadding="0" valign="top" style="width: 243px; height: 400px" align="center" class="style2"><tr>
<td valign="top" class="style3" style="width: 250px; height: 400px">
<ul id="nav" class="style2">
<li class="style2"><a href="#" class="style2"><strong>Виды работ</strong></a></li>
<li class="style2"><a href="#" class="style2"><strong>Виды работ</strong></a></li>
<li class="style2"><a href="#" class="style2"><strong>Примеры работ</strong></a></li>
<li class="style2"><a href="#" class="style2"><strong>Статьи</strong></a></li>
<li class="style2"><a href="#" class="style2"><strong>Эксперементы</strong></a></li>
</ul></td></tr></table>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.03.2013, 11:30
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
$pages = array('about' => 'О нас' , 'partner' => 'Наши партнеры', 'other'=>'Другое', /* и т.д. */);
$title = 'Главная';
$path = NULL;
function showError($code=404, $msg='Запрошенная страница не найдена.')
{
    $arrStatus = array(404=>'Not Found', 403=>'Forbidden');
    $code   = isset($arrStatus[$code]) ? $code : 404;
    $status = isset($arrStatus[$code]) ? $arrStatus[$code] : $arrStatus[404];
    header('HTTP/1.1 ' . $code . ' ' . $status);
    exit ('<br><br><br><h1 align="center">404 Not Found</h1>');
}
 
if(isset($_GET['page']))
{
    if( isset($pages[$_GET['page']]) )
    {
        $page = array_keys($pages, $pages[$_GET['page']])
        if(!empty($page[0]) && file_exists('./' . $page[0] . '.php'))
        {
            $path = './' . $page[0] . '.php';
            $title = $pages[$_GET['page']];
        }
        else
            showError(404, 'Запрошенная страница не найдена.');
    }
    else
        showError(404, 'Запрошенная страница не найдена.');
}
else
{
    //главная страница
}
?>
<!DOCTYPE HTML>
<html>
<head><title><?php echo $title; ?></title></head>
<body>
<ul id="menu">
    <li><a href="index.php?page=about">Ссылка 1</a></li>
    <li><a href="index.php?page=partner">Ссылка 2</a></li>
    <li><a href="index.php?page=other">Ссылка 3</a></li>
</ul>
<div id="content">
    <?php if(empty($path)) : ?>
        Контент главной страницы
    <?php else: 
        require $path;
    endif; ?>
</div>
</body>
</html>
Название файла должно совпадать с ссылками (при ?page=about будет искать файл about.php, ?page=partner - partner.php и т.д.)
Как-то так, если ничего не попутал..

Добавлено через 1 минуту
не видел предыдущего сообщения..
1
 Аватар для SFED
119 / 119 / 32
Регистрация: 09.07.2011
Сообщений: 203
22.03.2013, 12:53
В ваше меню добавляем ссылки с GET-переменными
HTML5
1
2
3
4
5
6
<ul id="nav" class="style2">
<li class="style2"><a href="index.php?page=1" class="style2"><strong>Виды работ</strong></a></li>
<li class="style2"><a href="index.php?page=2" class="style2"><strong>Примеры работ</strong></a></li>
<li class="style2"><a href="index.php?page=3" class="style2"><strong>Статьи</strong></a></li>
<li class="style2"><a href="index.php?page=4" class="style2"><strong>Эксперементы</strong></a></li>
</ul>
Это может быть не обязательно page=цифра.
переменная=значение
и это значение будет хранится в элементе массива $_GET['переменная']

index.php
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
25
26
27
28
29
30
31
32
33
34
<?php
//Вставляю переменные в таблице
$text = ''; 
ob_start();
if($_GET['page'] == "1") { // т.е. пользователь перешел по ссылке "Виды работ" index.php?page=1, то выполняется это условие
    include('vidy_rabot.html'); // и подключаем файл с данными таблицы по типу как подключен файл o_nas.html (я не знаю ваших названий)
} elseif ($_GET['page'] == "2") { // если ссылка "Примеры работ" и далее аналогично
    include('primery_rabot.html');
} elseif ($_GET['page'] == "3") {
    include('articles.html');
} elseif ($_GET['page'] == "4") {
    include('experiments.html');
} else { // если нет GET запроса
    include('o_nas.html'); 
}
$text = ob_get_contents();
ob_end_clean();
 
$partner = ''; 
ob_start();
include('partner.php');
$partner = ob_get_contents();
ob_end_clean();
 
$baner = ''; 
ob_start();
include('baner.php');
$baner = ob_get_contents();
ob_end_clean();
//Вставляю таблицу 
include('tablica.php');
//Обозначаю имя страницы 
$title = 'Главная страница'; 
?>
1
0 / 0 / 0
Регистрация: 22.03.2013
Сообщений: 4
22.03.2013, 16:45  [ТС]
Огромное Вам спасибо! Все получается!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2013, 16:45
Помогаю со студенческими работами здесь

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

Переключение между страницами php
Всем привет, подскажите как правильно сделать переключение между страницами. Мне нужно чтобы при нажатии на кнопку перекидывало на другую...

Переход между страницами jQuery
Добрый день! Возник очень глупый вопрос: я создала такую страницу, это скрипт тестирования. Не могу понять как осуществить переход по...

Перелинковка между страницами статей
Есть 10000 статей в базе данных. Нужно: 1) Связать по смыслу при помощи ссылок эти 10.000статей. Например, если статьи на тему...

Обмен данными между страницами
Здравствуйте, необходимо реализовать обмен между страницами blog.php и comments.php. На данной странице должны отображаться все комментарии...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru