Например, когда пользователь добавляет вопрос на сайт Q &, этот вопрос обычно получает свою собственную веб-страницу и эта веб-страница была создана «на лету». Как вы можете это сделать с помощью PHP? Может ли кто-нибудь указать мне на какие-либо ресурсы? Благодарю.Как вы разрешаете пользователям динамически создавать веб-страницу в веб-приложении?
ответ
«Как» на этом больше, чем обычный вопрос о Stackoverflow.
Может быть, посмотрите здесь для некоторых идей (я просто быстро сканировать через него прямо сейчас, не могу сказать, если это отличный учебник или не прямо сейчас): http://www.tuttoaster.com/how-to-create-a-forum-in-php-from-scratch/
Если вы PHP-новичку, может быть, лучше искать один из приложений PHP с открытым исходным кодом, например http://www.phpbb.com/, или что-то в этом роде (phpbb просто был первым, кто пришел на ум). Это будет намного больше кода для сортировки, но более популярные приложения с открытым исходным кодом, скорее всего, уже знают, как справляться с проблемами безопасности, такими как атаки с использованием межсайтового скриптинга и атаки на SQL-инъекции.
В связи с тем, что «этот вопрос обычно получает свою собственную веб-страницу», вы имеете в виду «получает свой собственный URL-адрес». Например, это How do you allow users to dynamically create a web page within a web app?.
Это действительно просто трюк. Очень упрощенно:
- Когда вы отправили этот вопрос, он получил уникальный идентификатор 3723813 и был вставлен в базу данных.
- Существует один сценарий контроллера, который занимается вопросами, скажет https://stackoverflow.com/questions.php
- Когда кто-то пытается открыть эту страницу, сервер знает, чтобы отправить его в
questions.php
с помощью модуля, таких как mod_rewrite for apache. - Затем
questions.php
просматривает параметры URL-адреса, принимает уникальный идентификатор для этого вопроса, 3723813 и загружает свою информацию из базы данных, чтобы отобразить его. - Остальная часть URL-адреса просто косметическая и просто там, чтобы мы могли сразу узнать, какой вопрос она перед открытием страницы.