奇怪的PHP错误:'不能在写上下文中使用函数返回值'

奇怪的PHP错误:'不能在写上下文中使用函数返回值'

我收到了这个错误,我无法做出它的头或尾。

确切的错误消息是:

致命错误:第48行/home/curricle/public_html/descarga/index.php中的写入上下文中不能使用函数返回值

第48行是:

if (isset($_POST('sms_code') == TRUE ) {

谁知道发生了什么?

PS这是完整的功能,如果有帮助:

function validate_sms_code() {

    $state = NOTHING_SUBMITED;

    if (isset($_POST('sms_code') == TRUE ) {
        $sms_code = clean_up($_POST('sms_code'));
        $return_code = get_sepomo_code($sms_code);

        switch($return_code) {

          case 1:
            //no error
            $state = CORRECT_CODE;
            break;

          case 2:
            // code already used
            $state = CODE_ALREADY_USED;
            break;

          case 3:
            // wrong code
            $state = WRONG_CODE;
            break;

          case 4:
            // generic error
            $state = UNKNOWN_SEPOMO_CODE;
            break;

          default:
            // unknown error
            $state = UNKNOWN_SEPOMO_CODE;
            throw new Exception('Unknown sepomo code: ' . $return_code);
            break;
        }

    } else {
        $state = NOTHING_SUBMITED;
    }
    dispatch_on_state($state);}


偶然的你
浏览 722回答 3
3回答

慕的地10843

你的意思是if (isset($_POST['sms_code']) == TRUE ) {虽然顺便说一句,你的意思是if(isset($_POST['sms_code'])) {

天涯尽头无女友

在函数返回上使用empty时也会发生这种情况:!empty(trim($someText)) and doSomething()因为empty不是一个函数而是一个语言构造(不确定),它只需要变量:对:empty($someVar)错误:empty(someFunc())从PHP 5.5开始,它支持的不仅仅是变量。但如果您在5.5之前需要它,请使用trim($name) == false。从空文档。

呼唤远方

if (isset($_POST('sms_code') == TRUE ) {将此行更改为if (isset($_POST['sms_code']) == TRUE ) {你正在使用parentheseis(),$_POST但你想要方括号[]:)要么if (isset($_POST['sms_code']) && $_POST['sms_code']) { //this lets in this block only if $_POST['sms_code'] has some value
打开App,查看更多内容
随时随地看视频慕课网APP