在写上下文中不能使用函数返回值

Msq*_*d86 6 php

好的,这是我的代码.它应该做的是检索发送给您页面的引用者,用户将输入someurl.com/refcreate.php?ref=username

<?php
session_start();

$referer = $_GET['ref'];
$_SESSION['referer'] = $referer;

if (!isset($referer))
{
    echo 'You did not specify a referer, please correct this to continue';
    die;
}
elseif($referer == "")
{
    echo 'You did not specify a referer, please correct this to continue';
    die;
}
Run Code Online (Sandbox Code Playgroud)

如果忘记指定引用者,上面的部分工作正常.下面的一半是检查指定的当前引用是否是数据库中的实际用户.

if(refcheck($referer) = false)
    {
        echo 'that referer is not in our database,please double chek the spelling and try again.';
        die;
    }

    function refcheck($ref)
    {
        require('mysql_con.php');

        $query="SELECT username FROM jos_users WHERE username='". $ref ."'";
        echo $query;
        $result = mysql_query($query, $con);
        $exists =mysql_fetch_assoc($result);
        if ($exists != false)
        {
            //return true;      
            echo 'true';    
            return true;

        }

        require('mysql_close.php');
    }
    ?>
Run Code Online (Sandbox Code Playgroud)

好的,我想出了问题(或者问题).1需要看起来像这样if(refcheck($referer) == false){}而不是if(refcheck($referer) = false);.所以这是一个缺少等号和错位的冒号:P谢谢你们

Joh*_*hnP 9

您正在分配变量而不是比较变量

这个 refcheck($referer) = false

应该 refcheck($referer) == false

此外,如果IF条件失败,您的方法应该有一个默认返回.