Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:定义一个常量以防止直接访问_Php - Fatal编程技术网

PHP:定义一个常量以防止直接访问

PHP:定义一个常量以防止直接访问,php,Php,我想阻止直接访问我的install.php文件,除非用户已经完成了填写信息和提交表单的步骤 install/index.php: define("ACCESS", true); // HTML form to take to install.php if (!defined("ACCESS")) { echo "You cannot access this page directly."; exit(); } else { // Run SQL Queries

我想阻止直接访问我的
install.php
文件,除非用户已经完成了填写信息和提交表单的步骤

install/index.php:

define("ACCESS", true);

// HTML form to take to install.php
if (!defined("ACCESS")) {
    echo "You cannot access this page directly.";
    exit();
} else {
    // Run SQL Queries
    echo "Database installation successful.";
}
install/install.php:

define("ACCESS", true);

// HTML form to take to install.php
if (!defined("ACCESS")) {
    echo "You cannot access this page directly.";
    exit();
} else {
    // Run SQL Queries
    echo "Database installation successful.";
}
显然这行不通。我怎样才能让这个概念发挥作用

其他问题: 这方面的最佳做法是什么?
我应该使用常量还是函数?

您可以这样做,但不是让用户直接访问
install.php
,而是从定义常量的
index.php
中包含它


这样,您就可以通过让
index.php
在适当的时候加载脚本来控制他们何时查看该脚本,但由于您检查了定义的常量,他们仍然无法直接访问该脚本。

请详细解释您的过程。在没有更多信息的情况下,很难推荐最佳实践。只有使用“include()”时,您的概念才会起作用。如果不了解应用程序的工作流,则很难实现最佳实践。因此,此代码与include();,配合使用效果很好;,但是如果我选择不使用include();,还有其他方法吗;?