用户定义函数php

用户定义函数php,php,function,parsing,Php,Function,Parsing,我有两个文件“inc.core.php”和“index.php”。我在“inc.core.php”中定义了一个函数: function isLoggedin() { if(isset($_SESSION['user_name']) && !empty($_SESSION['user_name'])){ return true; }else{ return false; } } 我想在索引中使用函数,并尝试如下操作: requ

我有两个文件“inc.core.php”和“index.php”。我在“inc.core.php”中定义了一个函数:

function isLoggedin() {
    if(isset($_SESSION['user_name']) && !empty($_SESSION['user_name'])){
        return true;
    }else{
        return false;
   }
}
我想在索引中使用函数,并尝试如下操作:

require "inc.core.php";

if(isLoggedin()){

  header('Location:patient.html');

}
但它总是给我错误

分析错误:语法错误,中出现意外的“function”T_函数 第6行的C:\xampp\htdocs\medfail\inc.core.php

您需要将自动全局函数的值分配给变量,以便能够使用函数访问它。 您必须在函数中使用该变量作为参数

function isLoggedin($un) {
    if(isset($un) && !empty($un)){
      return true;
    }else{
        return false;
    }
}
然后,在调用函数时使用参数

    require("inc.core.php");

    $un = $_SESSION['user_name']; //assign session value to $un

    if(isLoggedin($un)){

    header('Location:patient.html');

    }

正如lrd正确指出的那样,我进行了编辑,最好在isLoggedin函数调用之后分配会话值,因为此时,用户应该已经运行了验证,否则将重定向到验证。您还需要在检查用户凭据的验证代码之前启动会话

,那么inc.core.php文件中isLoggedin函数上方的行上有什么代码?e、 g.文件第1-5行。。。。把这些额外的信息编辑进你的问题该死,我忘了上面的分号,感觉糟透了,非常感谢你,先生。!!!为什么不把isLoggedin函数放在Classis中我刚开始学习php,现在我只是在学习教程,我还没有学会如何使用Classes只是一个建议,如果你不想在一段时间后修改你的知识,可以寻找并遵循新的教程,因为一些旧的教程会以错误的方式教你,就像使用目前不推荐使用的php mysql函数,而不是mysqli。从面向对象编程开始会让你更快地习惯新的php代码;在require inc.core.php之后,变量将更适合索引文件;因为它与函数无关。如果$_SESSION['user_name'],它也可能会发出警告;还没定下来。