【发布时间】:2019-01-13 18:15:54
【问题描述】:
第一次在这里发帖,但需要帮助,因为我对 PHP 还很陌生,我已经搜索过但找不到类似的问题。
我的索引文件有这个 php 包括:
include($_GET['underside']);
在我的其他页面之一 (opret.php) 上,我创建了一个 CRUD,一切正常。但是,当我尝试从给定 ID 获取数据到我的输入时,该链接将不适用于包含。
链接如下:
<a href="opret.php?rediger=<?php echo $row['TilbudId']; ?>" class="btn btn-info">Rediger</a>
最终在浏览器中是这样的:
http://localhost:8080/StampIT/index.php?underside=opret.php?rediger=7
我知道这似乎有点遥远,但我不知道是否有办法绕过它。我收到这些错误:
警告:include(opret.php?rediger=7):无法打开流:第 56 行的 D:\wamp64\www\StampIT\index.php 中没有这样的文件或目录
和
警告:include():在 D:\wamp64\www\StampIT\index.php 中打开 'opret.php?rediger=7' 以包含 (include_path='.;C:\php\pear') 失败第 56 行
如果我忘记包含并为所有内容制作单独的页面,我可以让它工作,但是我真的想避免这种情况。
我希望有人可以提供帮助,这在某种程度上是可以理解的。谢谢!
【问题讨论】:
-
此问题并非特定于 PHP。从硬盘读取文件与读取网站不同。你的代码混合了这两种东西。
-
嗨,欢迎来到 Stackoverflow。我认为使用未经过滤的输入运行
include是一个潜在的安全漏洞。您应该考虑不同的策略。 (例如,见评论:php.net/manual/en/function.include.php#120069)
标签: php mysql url include crud