Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для ChildOfFlowers
15 / 14 / 9
Регистрация: 16.04.2012
Сообщений: 1,090

Создать php страницу через другую php страницу

12.02.2015, 11:57. Показов 1999. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Я пытаюсь написать страницу, которая по заданному шаблону должна создавать другие страницы на сервере. Вот её код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
if($_POST['name'])
    {
        $name = $_POST['name'];
        $projects = 'projects.html';
        $contents = file_get_contents($projects);
        $contents .= '<a href = "/projects_'.$name.'.php"><div class = "name" style = "width: 100%; height: 100px; border: solid 1px black">'.$name.'</div></a>';
        file_put_contents($projects, $contents);
        $target = 'projects_'.$name.'.php';
        $targetContent = "<?php\nsession_start();\n$title = '".$name."';\ninclude 'template.php';\n?>";
        file_put_contents($target, $targetContent);
    }
    header("Location: ".$target);
Проблема в четвёртой снизу строке
PHP
1
$targetContent = "<?php\nsession_start();\n$title = '".$name."';\ninclude 'template.php';\n?>";
а именно в том, что я пытаюсь создать в новом файле переменную $title. Как я понял, из за знака $, даже не смотря на то, что он помещён в кавычки, код интерпретируется совсем не так, как было задумано. В результате на выходе получается такая ерунда:
PHP
1
2
3
4
5
<?php
session_start();
 = 'Test';
include 'template.php';
?>
Что в такой ситуации делать? И вообще, насколько корректно создавать страницы таким образом? И какие ещё способы для этого существуют?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2015, 11:57
Ответы с готовыми решениями:

Как отключить перенаправление на другую страницу при вызове mail.php?
Добрый вечер, друзья! Собственно вопрос в названии темы. Подробнее - при вызове mail.php со страницы происходит референс на страницу...

Не могу создать страницу handler.php
Здравствуйте уважаемы форумчане! ПРошу сильно не пинать... Суть в том, что нашел хороший шаблон для своего сайта... Все что сумел...

Создать PHP-скрипт, который возвращает пользователю HTML-страницу с введенными в Web-форму данными
1. Создать PHP-скрипт, который возвращает пользователю HTML-страницу с введенными в Web-форму данными. 2. Добавить в созданный в п.1...

5
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
12.02.2015, 12:00
Лучший ответ Сообщение было отмечено ChildOfFlowers как решение

Решение

Цитата Сообщение от ChildOfFlowers Посмотреть сообщение
Что в такой ситуации делать?
Экранировать знак доллара: \$
1
 Аватар для ChildOfFlowers
15 / 14 / 9
Регистрация: 16.04.2012
Сообщений: 1,090
12.02.2015, 12:14  [ТС]
Kerry_Jr, спасибо. Я только начал постигать php, поэтому таких тонкостей не знаю.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
12.02.2015, 12:42
Цитата Сообщение от ChildOfFlowers Посмотреть сообщение
из за знака $, даже не смотря на то, что он помещён в кавычки,
Запомните одну вещь - в двойных кавычках имена переменных заменяются их значениями, в отличие от одинарных.
PHP
1
2
3
$name = 'John';
echo 'Hello, $name!'; // выведет "Hello, $name!"
echo "Hello, $name!"; // выведет "Hello, John!"
А также в одинарных кавычках не обрабатываются все escape-последовательности, кроме \'.
0
 Аватар для ChildOfFlowers
15 / 14 / 9
Регистрация: 16.04.2012
Сообщений: 1,090
12.02.2015, 13:45  [ТС]
Kerry_Jr, хм, интересно...
то есть вместо
PHP
1
$targetContent = "<?php\nsession_start();\n\$title = '".$name."';\ninclude 'template.php';\n?>";
я мог написать просто
PHP
1
$targetContent = "<?php\nsession_start();\n\$title = $name;\ninclude 'template.php';\n?>";
?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
12.02.2015, 14:30
ChildOfFlowers, да, только не забудьте $name взять в одинарные кавычки.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2015, 14:30
Помогаю со студенческими работами здесь

Как посмотреть php страницу
Можете подсказать, как посмотреть страницу с расширением php.

На PHP считать с файла и выложить на страницу
Здравствуйте, например на хосте есть файл - с каким нужно расширением советуйте: txt doc? Задача PHP считать с этого файла строки и...

Как поставить пароль на php страницу
Привет! У меня есть скрипт для добавления объявления код в файле ad.php может кто сталкывался с такой проблемой или уже есть...

Вывод html кода посредстом php на страницу
Есть несколько страниц с разными url. Есть несколько текстов, которые должны в определенном месте страницы появляться, то есть...

Как встроить php таблицу в htnl страницу?
Значит, так... Есть 3 html-странички:index.html, cars.html and contacts.html. Ну и файл стилей style.css. Также работаю с БД MySQL....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru