В настоящее время разрабатывается веб-сайт, и мне интересно, как включить страницы в основной индекс (только для изменения содержимого определенной области, а не всей страницы) с помощью функции $ _Get.
Файлы будут такими, как index.php (включая контентные страницы), news.php (отображение по умолчанию по индексу), members.php, about.php, guide.php, downloads.php, sponsors.php и т. Д.
Я верю (если я правильно помню), связанная с методом $ _Get, обычно выглядит примерно так: index.php? Pid = about
Я также хотел бы узнать, как я могу изменить ссылку (через htaccess?) Для ссылки следующим образом: www.mywebsite.com/about/ вместо mywebsite.com/index.php?pid=about
Прошло некоторое время с тех пор, как я сделал какой-либо PHP и не помню, как это делается в точности.
Предварительный просмотр того, над чем я работаю, можно найти на сайте www.survivaloperations.net/dev/
Вы поместили бы все свои файлы в папку с папками, а только в файлы с расширением .php.
ваш index.php будет выглядеть так:
include('pages/'. $_GET['pid']. '.php');
И поэтому ваши файлы будут выглядеть так:
pages/home.php pages/contact.php
и вы бы пошли:
index.php?pid=home index.php?pid=contact
соответственно
Вы также хотели бы иметь контроль над значениями $ _GET. Я рекомендую использовать php-переключатель:
switch($_GET['pid']) { case "home": include("home.php"); break; case "contact": include("contact.php"); break; case "thing": include("thing.php"); break; default: include("404.php"); break; }
Коммутатор требует меньше кода, чем команды else else, и позволяет отображать страницу типа «404» по умолчанию, когда вводится недействительный pid. Это также защищает пользователей от доступа к чему-либо, что им не нужно … например, «../db.php» или что-то (не уверен, что возможен доступ к родительскому каталогу, но все же).
перед использованием $ _GET вы должны очистить теги для обеспечения безопасности.
$pid = strip_tags($_GET['pid']); include("$path/" . $pid . ".php");
но … я предпочитаю другой код для безопасности.
$pid = strip_tags($_GET['pid']); switch($pid) { 'sub01' : include("$path/01.php"); break; 'sub02' : include("$path/02.php"); break; default : include("$path/main.php"); }