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

Как создать динамические страницы в РНР

09.05.2024, 13:32. Показов 12162. Ответов 164

Студворк — интернет-сервис помощи студентам
Я пишу свой сайт с форумом. Мне нужно, чтобы 2 файла profile.php и vopros.php изменяли своё содержимое в зависимости от id юзера и id вопроса соответственно. И чтобы остальные файлы рнр и с другими расширениями не перенаправлялись на точку входа.
Т.е. мне нужно создать движок на базе данных, если я правильно поняла. Для этого я создала файл .htaccess и файл точки входа vhod.php.
Я честно пыталась разобраться в теории и синтаксисе .htaccess, но мне это не очень удалось.
Я написала файл .htaccess:
Code
1
2
3
4
5
6
7
8
9
RewriteEngine on
RewriteBase /
# Запретить индексацию каталогов
Options – Indexes
# следующее за этими директивами будет касаться только #виртуальных URL для которых нет папки или файла на диске #сервера.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#Мы перенаправляем все запросы виртуальных url на наш файл точки входа vhod.php
RewriteRule ^.*$ vhod.php [NC,L]
А также файл vhod.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
$link = mysqli_connect("localhost", "airin", "root", "vv_bd");  
mysqli_set_charset($link, 'utf8mb4');
 
if($_SERVER['REQUEST_URI'] =='/'){
    //Имя страницы
    $Page = 'index'; 
    //Имя модуля
    $Module = 'index';
}else{
    //
$URL_Path = parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH);
//Определяем имя страницы
$URL_Parts = explode('/', trim($URL_Path,' /'));
//Имя страницы
$Page = array_shift($URL_Parts);
//Имя модуля
$Module = array_shift($URL_Parts);
//Разбор параметров id/2
if(!empty($Module)){
    $Param = array();
    for($i = 0; $i < count($URL_Parts); $i++){
    $Param [$URL_Parts[$i]] = $URL_Parts[++$i];
    }
}
}
 
//Пишем страницу входа
if($Page == 'index')include('page/vhod.php');
 
    //Пишем остальные динамические страницы
else if($Page == 'vopros') include('page/vopros.php');
else if($Page == 'profile') include('page/profile.php');
?>
Но выводится ошибка: 500 Internal Server Error.
И вообще сайт не открывается.

Пробовала записать правило только для динамической страницы. Так:
Code
1
2
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?id=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ profile.php?id=$1
Так:
Code
1
RewriteRule ^(.*)$ profile.php? id=$1  [NC,L]
И так:
Code
1
RewriteRule ^(.*)$ profile.php?/$1  [NC,L]
Но ошибка вылазит та же.
Видимо, я неправильно понимаю, как это работает.
Что у меня не так с .htaccess и можно ли указать правило только для двух файлов и как это сделать правильно?
И ещё один вопрос: как (в каком формате) указывать название этих двух файлов?
vopros.php?, vopros.php, или vopros.php?id=$1
И их название в файле mytytles.php:
Code
1
2
3
'/vv2/vopros.php?' => 'Вопрос',
'/vv2/vopros.php' => 'Вопрос',
'/vv2/vopros.php?id=$1' => 'Вопрос',
Или как-то ещё?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2024, 13:32
Ответы с готовыми решениями:

Можно ли на РНР создавать динамические страницы?
Умею создавать статические HTML- страницы, но это не устраивает. Хочу сделать динамическую страничку в сайте, чтобы изображение менялось...

Как передать РНР скрипту имя страницы, вызвавшей процесс?
В начале страницы устанавливаем РНР код, позволяющий определить ее имя: $str = $_SERVER; Далее производим вывод через АЯКС: ...

Как в текущий файл на рнр подрузить массив из другого файла на рнр?
Мне нужно подгружать массив с данными из mysql одного файла на рнр в текущий файл рнр с выводом точек на график. Для отработки этого режима...

164
Невнимательный
 Аватар для ft4l
3141 / 1352 / 362
Регистрация: 08.02.2013
Сообщений: 7,906
Записей в блоге: 2
23.05.2024, 09:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Sollita Посмотреть сообщение
оценивать можно только ответы, а не вопросы
Интересный/неординарный вопрос иногда причина интересных мыслей ,ответов, решений,...
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
23.05.2024, 10:02  [ТС]
DmitriyLutsenko, это условный рефлекс любого педагога: не давать положительного подкрепления за неправильное поведение и дать такое отрицательное подкрепление, чтобы больше не хотелось
Умом я понимаю, что после 14 лет мальчика воспитывать поздно, но рефлекс сильнее.
Извините, я больше не буду, но придержите своих "опытных форумчан", чтобы не провоцировали
1
 Аватар для DmitriyLutsenko
76 / 62 / 16
Регистрация: 13.07.2020
Сообщений: 262
23.05.2024, 10:30
Цитата Сообщение от Sollita Посмотреть сообщение
Извините, я больше не буду, но придержите своих "опытных форумчан", чтобы не провоцировали
Не поддавайтесь на провокации сами

Don't worry, be happy
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
23.05.2024, 18:08
Цитата Сообщение от Sollita Посмотреть сообщение
Вам не кажется, что только токсичный опытный форумчанин может влепить -22 за вопрос?
Это вам за "морочить голову" и т.п. Только я промахнулся с постом. Если хотите, могу продублировать

За своей токсичностью следите. Нужно было сильно постараться, чтобы сподвигнуть меня на минусование.
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
23.05.2024, 18:15  [ТС]
Phantom-84, я пообещала остановиться, так что успехов
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2024, 18:15

Генерация HTML страницы в UTF-8 средствами РНР
Имеется страница: &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;...

Выполнение РНР-файла по запросу определенной html-страницы
При запросе пользователями определенных html-страничек нужно выполнять php-скрипт. Можно, конечно, поменять расширение html-ки на php и...

Вытащить значение из одной страницы и вставить в другую без РНР
Ребята, задача не совсем стандартная, нужно без использования РНР вытащить значение. Суть. есть страница- http://сайт.ru/counter.php...

Подскажите как создать динамические чекбоксы?
Хотел сделать с десяток чекбоксов с лабелами. Для этого нагуглил примерный код: function myCheckboxes(){ var checkboxParent =...

Почему не работает РНР, не могу запустить ни один скрипт на РНР
Помогите начинающему. Установил Apache и РНР. Апач работает нормально. Проблем нет. А вот с РНР проблемы. Не могу запустить ни...


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

Или воспользуйтесь поиском по форуму:
165
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru