簡體   English   中英

PHP-調用函數時發生致命錯誤(未定義函數錯誤)

[英]PHP - Fatal error when calling function (undefined function error)

我有一個PHP函數調用的新手問題。 文件:

    <?php
        session_start();
        include("../conexionbbdd.php");
        include("../conexionapi.php");

        $id = $_SESSION['id'];   
        $inclass = $_SESSION['inclass'];   

    if($_SESSION['estado'] == 'activo'){

        if($inclass==='1'){       
            checkCost();        
        }
        else{
            sendMessage();        
        }

function checkCost(){
    //DO WHATEVER
}

function sendMessage(){
    //DO WHATEVER
}


}else{

header('location:../login.php');

}
?>

控制台出現錯誤(!)致命錯誤:在第14行的C:\\ wamp \\ www [removedbyme] \\ actions \\ msg_newMessage.php中調用未定義函數checkCost()

函數必須在使用前聲明。

這將起作用:

function doSomething(){

}

doSomething();

這不會:

doSomething();

function doSomething(){

}

嘗試這個:

       session_start();
        include("../conexionbbdd.php");
        include("../conexionapi.php");

function checkCost(){
    //DO WHATEVER
}

function sendMessage(){
    //DO WHATEVER
}


        $id = $_SESSION['id'];   
        $inclass = $_SESSION['inclass'];   

    if($_SESSION['estado'] == 'activo'){

        if($inclass==='1'){       
            checkCost();        
        }
        else{
            sendMessage();        
        }



}else{

header('location:../login.php');

}

PHP代碼是從上到下讀取的,因此,當您調用checkCost時,php並不知道checkCost存在:

<?php
    session_start();
    include("../conexionbbdd.php");
    include("../conexionapi.php");
    function checkCost(){
    //DO WHATEVER
    }

    function sendMessage(){
    //DO WHATEVER
    }
    $id = $_SESSION['id'];   
    $inclass = $_SESSION['inclass'];   

    if($_SESSION['estado'] == 'activo'){

       if($inclass==='1'){       
           checkCost();        
       }
       else{
           sendMessage();        
       }

    }else{

    header('location:../login.php');

   }
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM