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

Как сделать отображение определенного блока php на главной странице сайта

18.01.2022, 23:44. Показов 1581. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Такой вопрос. Есть сайт составленный из блоков (header.php, menu.php, footer.php и т.д.) Каким образом можно сделать так, что бы только на главной странице сайта показывался вместо header.php, немного измененный header2.php
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2022, 23:44
Ответы с готовыми решениями:

Отображение записей на главной странице сайта
Как сделать чтобы на главной странице не отображался текст записей?чтобы отображались только миниатюра,название,дата и рубрика записи? ...

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

Отображение записей на главной странице сайта
Как сделать чтобы на главной странице не отображался текст записей?чтобы отображались только миниатюра,название,дата и рубрика записи? ...

16
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
19.01.2022, 05:42
PHP
1
2
3
<?php
 
echo $_SERVER['REQUEST_URI']; // => / для главной страницы
или лучше

PHP
1
echo $_SERVER['SCRIPT_NAME']; // => index.php
т.к. могут ввести /index.php?bbb=5 и всякое такое.

Сделать проверку соответствующую и вперёд

Ну и конечно же ознакомиться с документацией $_SERVER и вообще про предопределенные константы.
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 9
19.01.2022, 10:35  [ТС]
Ничего не понял, можно поподробней ? )

Вот у меня в index.php есть строка

PHP
1
 <?php include ("blocks/header.php");?>
куда вставлять
PHP
1
echo $_SERVER['SCRIPT_NAME']; // => index.php
и где прописывать пусть к header2.php ?
0
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
19.01.2022, 10:55
PHP
1
2
3
4
5
6
7
<?php
 
if (strtolower($_SERVER['SCRIPT_NAME']) === 'index.php') {
    require_once ('blocks/header2.php');
} else {
    require_once ('blocks/header.php');
}
Теперь понятнее?
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 9
19.01.2022, 11:40  [ТС]
Немного это работает, но почему-то наоборот, на главной отображается header, на всех остальных header2

если сделать так, то везде отображается header

PHP
1
2
3
4
5
6
7
8
<?php
 
if (strtolower($_SERVER['SCRIPT_NAME']) === 'index.php') {
    require_once ('blocks/header.php');
} else {
    require_once ('blocks/header2.php');
}
?>
0
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
19.01.2022, 11:55
Это уже магия, похоже
Не надо менять местами, надо просто === заменить на !==.

Так, а в адресной строке на неглавной странице что у вас? Примерчик приведите.
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 9
19.01.2022, 12:07  [ТС]
У меня убраны через файл htaccess, полные названия страниц. Может быть в этом дело?

В адресной второстепенные страницы отображаются в таком виде http://сайт.ru/info
0
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
19.01.2022, 12:11
Ахахах, я так и знал
Тогда вообще не понимаю в чем проблема. Если где-то разбирается URL, то там и надо вставить соответствующее условие для подключаемых файлов
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 9
19.01.2022, 12:40  [ТС]
Проблема во мне, я не шарю в php

Т.е. код надо вставлять в сам header2 ?

Добавлено через 25 минут
Да, страниц на сайте много, и потихоньку добавляются ещё, поэтому вставлять для каждой свой header не вариант. Если вы об этом.
0
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
19.01.2022, 13:34
Цитата Сообщение от Kad90 Посмотреть сообщение
Проблема во мне, я не шарю в php
Я уже понял

Цитата Сообщение от Kad90 Посмотреть сообщение
Т.е. код надо вставлять в сам header2 ?
Нет, в главный index.php скорее всего. У вас что-то самописное или CMS?
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 9
19.01.2022, 14:08  [ТС]
Самописный
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
19.01.2022, 15:48
Цитата Сообщение от Kad90 Посмотреть сообщение
Вот у меня в index.php есть строка
Цитата Сообщение от Kad90 Посмотреть сообщение
У меня убраны через файл htaccess, полные названия страниц
У вас все запросы на index.php направляются? Как вообще структура выглядит? Хотя бы index.php покажите.
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 9
19.01.2022, 16:04  [ТС]
index.php имеет такой вид

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<BODY class="container">
 
<?php include ("blocks/header.php");?>
<?php include ("blocks/menu.php");?>
 
<?php include ("blocks/header3.php");?>
 
<HR>
 
<?php include ("blocks/news1.php");?>
          
<?php include ("blocks/footer.php");?>
</BODY>
в htaccess прописано следующее

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
19.01.2022, 17:17
Лучший ответ Сообщение было отмечено Kad90 как решение

Решение

И так в каждом файле (например в info.php)?
Тогда проще всего будет изменить только header.php. Переместите то, что сейчас в header.php, в другой файл, в папку headers. И файл header1.php туда же. А в header.php добавьте:
PHP
1
2
3
$name = '/' === $_SERVER['REQUEST_URI'] ? 'header1' : 'header2';
 
require __DIR__ . "/headers/{$name}.php";
1
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 9
19.01.2022, 20:18  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
И так в каждом файле (например в info.php)?
Да, только вместо header3, у каждой свой html-код

Цитата Сообщение от Para bellum Посмотреть сообщение
Тогда проще всего будет изменить только header.php. Переместите то, что сейчас в header.php, в другой файл, в папку headers. И файл header1.php туда же. А в header.php добавьте:
Не работает. Перемещаю содержимое header.php в header1.php, копирую его в каталог headers, и перемещаю туда же header2.php
Дальше в header.php вставляю ваш код, в итоге страница загружается без него поломанной.

Добавлено через 21 минуту
Вот такая ошибка появляется

Fatal error: require() [function.require]: Failed opening required '/home/--------/сайт/www/blocks/headers/{$name}.php' (include_path='.:/nix/store/rm------php-5.3.29/lib/php') in /home/-----/сайт/www/blocks/header.php on line 4
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
19.01.2022, 20:28
Лучший ответ Сообщение было отмечено Kad90 как решение

Решение

Цитата Сообщение от Kad90 Посмотреть сообщение
/home/--------/сайт/www/blocks/headers/{$name}.php
Пути неправильные формируются. Вы, вероятно, использовали одинарные кавычки в require. Я двойные не случайно указал.
1
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 9
19.01.2022, 20:34  [ТС]
Вы правы, все получилось) Большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2022, 20:34
Помогаю со студенческими работами здесь

Сделать, чтобы то, что выводит php в отдельной странице, выводил в диалоговом окне на главной странице
Есть форма &lt;form method=post action=/preorder.php&gt; &lt;div class=&quot;row half&quot;&gt; &lt;div class=6u&gt; &lt;input name=name placeholder=&quot;Имя&quot;...

на главной странице сайта index.html подключаю блоки главной страницы находящихся в корневых папках и они не выводятся на главной
на главной странице сайта index.html подключаю блоки главной страницы находящихся в корневых папках и они не выводятся на главной ...

Как отобразить данные с определенного сайта у себя на странице (API)?
let block1 = $('.block-1'); let list = $('.list'); fetch('https://rickandmortyapi.com/api/character') .then(result =&gt;...

Как сделать доступ к PHP странице после логина на aspx странице?
Как сделать доступ к PHP странице после логина на aspx странице? Сделал система аутентификации и авторизации через логин для защиты к...

Красивое, правильное отображение записей на главной странице как в шаблоне темы
Взять любую тему, например glades: http://preview.themezee.com/glades/ Как отобразить так же красочно все записи у себя на сайте? у...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru