我的网站基本上是5"页面"和大约30"帮助页面"由php调用包括,有时是1或2"帮助页面"每页"有时10 +每页"页面。"
因为这些是包含我在"页面中有某些变量和我的mysql连接代码"辅助页面依赖于这些变量。例如,这是我的" edit.php"页:
<form method="POST" enctype="text/plain" action="<?php echo $actual_link; ?>">
<div class="one-hundred"><?php include("include/pages/vehicle.php"); ?></div>
<div class="fifty"><?php include("include/pages/vehicle_valuations.php"); ?></div>
<div class="fifty"><?php include("include/pages/vehicle_features.php"); ?></div>
<div class="thirty-three">
<?php
include("include/pages/purchased_info.php");
include("include/pages/vehicle_Titles.php");
?>
</div>
<div class="thirty-three"><?php include("include/helper_content/warranty_lookup.php"); ?></div>
<div class="thirty-three"><?php include("include/pages/vehicle_advertising.php"); ?></div>
<div id="buttons">
<input type="submit" id="Submit" value="Submit">
</div>
我想知道的是,如果我将浏览器直接发送到www.____.com/include/pages/vehicle.php页面失败,因为缺少mysql连接脚本和缺少变量。有没有办法检测某人是直接访问该页面,还是通过iframe或ajax或包含?
答案 0 :(得分:0)
是的,但它有点混乱。首先,您致电get_included_files。它返回到目前为止已包含的所有文件的数组,因此您只需针对__FILE __
验证它们中的每一个答案 1 :(得分:0)
在单独的PHP文件中定义您的连接,并使用include_once()而不是include()
将其包含在需要它的页面/子页面中。这样,您就可以在所有页面上使用您的连接,而无需不必要地重新包含它。
答案 2 :(得分:0)
您可以在php文件中查找包含的#_GET参数。&#34;
例如,
include(".../file.php?included=true");
然后,在file.php里面......
<?php
if isset($_GET['included']) {
//page was "included!"
}
但是当用户通过http://来访问该页面时,没有将$ _GET参数添加到URL字符串中,因此该页面未被包含。