使用PHP$\u获取数据并定义内容

使用PHP$\u获取数据并定义内容,php,Php,我想在url中使用PHP的$GET来获取数据,以帮助定义页面中的内容 基本上,我希望url是这样的- /page.php?p=1 然后,PHP会在代码后面自动包含../content/1.txt,因为1在p=。如果url是/page.php?p=2,那么它将包括../content/2.txt,因为它在url中。我希望它能在页面内自动执行此操作,这样就可以将基本骨架放在一起,并且文件包含在该骨架中。我希望PHP能够自动完成这项工作,而不必定义每一个p=并让它从中得到它 我们应该这样做 if($_

我想在url中使用PHP的$GET来获取数据,以帮助定义页面中的内容

基本上,我希望url是这样的-

/page.php?p=1

然后,PHP会在代码后面自动包含../content/1.txt,因为1在p=。如果url是/page.php?p=2,那么它将包括../content/2.txt,因为它在url中。我希望它能在页面内自动执行此操作,这样就可以将基本骨架放在一起,并且文件包含在该骨架中。我希望PHP能够自动完成这项工作,而不必定义每一个p=并让它从中得到它

我们应该这样做

if($_POST['p'] =='1'){
$content = file_get_contents('/content/1/');
echo $content;
}
等等…

page.php:


试试这样的

<?php

    if(isset($_GET['p'])){

        $fileName = $_GET['p'];

        /* validate the user input here */

        $fileName = "../content/" . $fileName . ".txt";

        //include the file
        include($fileName);

        //or echo a link to the file
        echo "<a href=\"" . $fileName . "\">Link</a>";

        //or echo the file's contents
        echo file_get_contents($fileName);
    }
?>

那你为什么不呢?你有什么问题?听起来像是一个极其平凡的PHP应用程序。如果您想要一个有用的答案,请提供更多关于您已经尝试过的内容以及您看到的不想要的行为的详细信息。我不熟悉$\u GET,在搜索帮助我时找不到任何有用的内容。然后我强烈建议您找一本关于PHP基础知识的书或其他资源,因为这是非常琐碎的。一旦您对该语言有了一般性的了解,并且知道如何使用它,但是遇到了特定的问题,stackoverflow是一个很好的选择。期望人们在这里教你如何编程既不现实也不公平。此外,PHP站点有大量文档和搜索栏:。这也是谷歌在搜索PHP$\u GET时的第二次点击。他不想写每一个案例,他想包含文件,而不是回显。他还想从$\u GET而不是$\u POST获得它。这不是SQL注入,而是文件系统遍历攻击。但是你是对的,你需要验证参数以确保你没有被攻击。这一点很好。文件在文件系统上,而不是在db@sh1ftst0rm:只有在非常古老的Web服务器上。如果没有服务器端的干预,您无法在现代Web服务器上突破文档根。@MarcB:例如,有很多业余/业余服务器不是我的。除此之外,你不一定非要突破文档根目录来发动攻击,只要到达网站作者不想去的地方就行了。无论您是否希望被chrooted或拥有任何其他保护,您都应该始终验证来自用户的任何输入。我不认为最初是这样的,或者OP的意图是什么,但是不管怎样,它应该被验证,只是为了有一个高质量的站点优雅的错误处理,而不是404。
<?php

    if(isset($_GET['p'])){

        $fileName = $_GET['p'];

        /* validate the user input here */

        $fileName = "../content/" . $fileName . ".txt";

        //include the file
        include($fileName);

        //or echo a link to the file
        echo "<a href=\"" . $fileName . "\">Link</a>";

        //or echo the file's contents
        echo file_get_contents($fileName);
    }
?>