页面包含页面php,通过在页面上包含此PHP文件,是我正在其中运行所有功能,还是仅允许它们被访问?...

我有这个功能文件.通过执行… …是我在其中运行所有功能,还是只是简单地允许它们被调用(使它们存在于当前作用域中).

抱歉,如果这是一个基本问题,我是PHP nooby!

<?php /* * ------------------------------------------------------------------------------------- * ---------------------------- GLOBALLY AVAILABLE FUNCTIONS --------------------------- * ------------------------------------------------------------------------------------- */ function user_loggedin_check() { if(isset($_COOKIE["logged_in"]) && ($_COOKIE["logged_in"] == true)){ $logged_in = true; setcookie("logged_in", $logged_in, time() 14400); return true; } else { header("Location: index.php?loginerr=6"); exit(); } } function permission_level_2_check() { if(isset($_COOKIE["permission_level"]) && ($_COOKIE["permission_level"] == 2)){ $logged_in = true; setcookie("logged_in", $logged_in, time() 14400); return true; } else { setcookie("logged_in", false, time()-1); setcookie("permission_level", 1, time()-1); session_unset(); session_destroy(); header("Location: index.php?loginerr=7"); exit(); } } function permission_level_3_check() { if(isset($_COOKIE["permission_level"]) && ($_COOKIE["permission_level"] == 3)){ $logged_in = true; setcookie("logged_in", $logged_in, time() 14400); return true; } else { setcookie("logged_in", false, time()-1); setcookie("permission_level", 1, time()-1); session_unset(); session_destroy(); header("Location: index.php?loginerr=7"); exit(); } } function display_login_errors() { /* * ------------------------------------------------------------------------------------- * ---------------------------------- ERROR LIST --------------------------------------- * ------------------------------------------------------------------------------------- */ /* * loginerr=0 -> passwords don"t match * loginerr=1 -> username already exists in DB * loginerr=2 -> registration is currently disabled * loginerr=3 -> password is too long and/or too short * loginerr=4 -> email isn"t in proper format * loginerr=5 -> email is too long and/or too short * loginerr=6 -> user isn"t logged in, generic redirect to login page error * loginerr=7 -> user doesn"t have the required access to view that page */ if(isset($_GET["loginerr"])){ $loginerr = $_GET["loginerr"]; switch ($loginerr) { case 0: echo "

"; echo " Your passwords didn"t match. Try again."; echo "
"; break; case 1: echo "
"; echo " That email address is already registered."; echo "
"; break; case 2: echo "
"; echo " Registration is currently disabled. Try again later."; echo "
"; break; case 3: echo "
"; echo " Your password must be between 4 and 32 characters in length."; echo "
"; break; case 4: echo "
"; echo " Your email address didn"t match proper formatting (email@domain.com)."; echo "
"; break; case 5: echo "
"; echo " Your email address must be between 6 and 32 characters in length."; echo "
"; break; case 6: echo "
"; echo " You need to be logged in to access that page. Please log in."; echo "
"; break; case 7: echo "
"; echo " You don"t have access to view that page. You have been logged out due to suspicious activity."; echo "
"; break; } } } ?>解决方法:

您只是在定义函数,而不是调用它们.如果该文件中有函数调用,它将执行.通常,您想要分离执行代码和函数/类定义.

如果您的文件仅包含函数或类定义,则最好使用include_once(或require_once).因为如果两次包含该文件,将得到一个函数已经存在错误.使用include_once可以避免这种情况.

处理依赖关系的一种更高级的方法是使用spl_autoload_register自动加载.Symfony2等流行的框架具有独特的命名方案,可让您将类名映射到文件名,以便可以即时自动加载任何类.

来源:https://www.icode9.com/content-1-576301.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值