php函数,用于从地址栏获取信息并包含指定文件(动态页面?)
我是stackoverflow和php的新手,我正在尝试正确地编写代码。我试图做的是消除index.php以外的页面显示,但仍然通过使用地址栏来包含它们。例如,我试图编写一个登录脚本,其中包含一个login.php文件,但处理表单的所有post信息,并通过index.php文件进行检查 我试图创建一个函数,在地址栏调用时只包含特定页面。因此,表单的操作将是index.php?act=login-我希望$\u获得act(login)并包含login.php,而用户不必包含任何其他会带来安全风险的文件 这是我的代码:php函数,用于从地址栏获取信息并包含指定文件(动态页面?),php,Php,我是stackoverflow和php的新手,我正在尝试正确地编写代码。我试图做的是消除index.php以外的页面显示,但仍然通过使用地址栏来包含它们。例如,我试图编写一个登录脚本,其中包含一个login.php文件,但处理表单的所有post信息,并通过index.php文件进行检查 我试图创建一个函数,在地址栏调用时只包含特定页面。因此,表单的操作将是index.php?act=login-我希望$\u获得act(login)并包含login.php,而用户不必包含任何其他会带来安全风险的文
function getContent() {
$pages = array('login','page1');
if(isset($_GET['act']) && $_GET['act'] == $pages) {
include($_GET['act'] . '.php');
} elseif (!isset($_GET['act'])) {
echo 'INDEX PAGE';
}
}
getContent();
我哪里做错了?设置index.php?act=login时,无法显示login.php页面。文本“索引页”显示正常,但未设置act。您可以将其更改为in_array():
您可以将其更改为in_array():
如果不正确,您的
。你想要这样的东西:
if(isset($_GET['act']) && in_array($_GET['act'], $pages)) {
include($_GET['act'] . '.php');
}
如果
不正确,您的。你想要这样的东西:
if(isset($_GET['act']) && in_array($_GET['act'], $pages)) {
include($_GET['act'] . '.php');
}
这行代码是您的问题:
if(isset($_GET['act']) && $_GET['act'] == $pages) {
您需要将其更改为此(当您检查页面数组中是否存在act
的值时):
不过,您可能想用标准else替换您的elseif
。因为如果设置了$\u GET['act']
,但不在页面数组中,则不会执行elseif
此外,我强烈建议您使用微框架,如,一旦您对PHP更加熟悉,它将为您处理此问题(更安全)。这一行代码就是您的问题:
if(isset($_GET['act']) && $_GET['act'] == $pages) {
您需要将其更改为此(当您检查页面数组中是否存在act
的值时):
不过,您可能想用标准else替换您的elseif
。因为如果设置了$\u GET['act']
,但不在页面数组中,则不会执行elseif
此外,我强烈建议您使用微框架,如,一旦您对PHP更加熟悉,它将为您处理此问题(更安全)。是的!这正是我需要的。是的!这正是我所需要的。有人告诉我框架是好的,但对于一开始,最好编写自己的代码。是一个微框架比一个完整的框架更好(我们在看Cake PHP)。你肯定是对的(编辑以反映这一点)。微框架和全堆栈框架完全是另一个问题,但它们在不同的方面都更好。有人告诉我框架是好的,但对于开始来说,最好编写自己的代码。是一个微框架比一个完整的框架更好(我们在看Cake PHP)。你肯定是对的(编辑以反映这一点)。微框架和全堆栈框架完全是另一个问题,但它们都适用于不同的事情。