如何在 HTML / PHP 中使用“?main=”
How to use "?main=" in HTML / PHP
我正在尝试以仅“主要”更改的方式从我的根文件夹的子目录中引用文件。
我的 home.php 文件中有这段代码:
<div id="main" class="main">
<?php require $_GET['main'] . ".php"; ?>
</div>
所有导航按钮应将“主要”更改为包含 home.php.
的文件夹下各个文件夹中的某些文件
如果我引用的文件与我的工作文件位于同一文件夹中,则以下代码片段可以完美运行:
<a href="?main=dashboard.php">Dashboard 1</a>
我想做的(我想象的)是这样的:
<a href="?main=folder/dashboard.php"> Dashboard 1</a>
我引用的文件在不同的文件夹中。
另外,如果我用
引用有问题的文件
<a href="folder/dashboard.php"> Dashboard 1</a>
文件加载,但它没有像 ?main=
那样以“主要”为目标
我尝试了我读到的无数方法/虽然可行,但到目前为止没有任何效果。任何帮助将不胜感激。
不要求用户输入未经验证的文件!
<?php
// For Security a list of granted paths.
$allowedPaths = [
'folder/dashboard.php',
];
$main = isset($_GET['main']) ? $_GET['main'] : '';
if(!in_array($main, $allowedPaths) {
// Error handling
die('Path not allowed');
}
require $main;
?>
link 可能看起来像
<a href="?main=folder%2Fdashboard.php">
- 请注意,必须对 URL 值 进行编码 ->
echo urlencode('folder/dashboard.php');
以使斜杠有效。
- 注意不要两次添加
.php
扩展(一次在 URL 中,另一次在代码中)。
我正在尝试以仅“主要”更改的方式从我的根文件夹的子目录中引用文件。
我的 home.php 文件中有这段代码:
<div id="main" class="main">
<?php require $_GET['main'] . ".php"; ?>
</div>
所有导航按钮应将“主要”更改为包含 home.php.
的文件夹下各个文件夹中的某些文件如果我引用的文件与我的工作文件位于同一文件夹中,则以下代码片段可以完美运行:
<a href="?main=dashboard.php">Dashboard 1</a>
我想做的(我想象的)是这样的:
<a href="?main=folder/dashboard.php"> Dashboard 1</a>
我引用的文件在不同的文件夹中。
另外,如果我用
引用有问题的文件<a href="folder/dashboard.php"> Dashboard 1</a>
文件加载,但它没有像 ?main=
我尝试了我读到的无数方法/虽然可行,但到目前为止没有任何效果。任何帮助将不胜感激。
不要求用户输入未经验证的文件!
<?php
// For Security a list of granted paths.
$allowedPaths = [
'folder/dashboard.php',
];
$main = isset($_GET['main']) ? $_GET['main'] : '';
if(!in_array($main, $allowedPaths) {
// Error handling
die('Path not allowed');
}
require $main;
?>
link 可能看起来像
<a href="?main=folder%2Fdashboard.php">
- 请注意,必须对 URL 值 进行编码 ->
echo urlencode('folder/dashboard.php');
以使斜杠有效。 - 注意不要两次添加
.php
扩展(一次在 URL 中,另一次在代码中)。