调用未定义的函数

时间:2012-02-28 20:40:49

标签: php function undefined

我将一些代码打包到一个函数中。但是当我试图让函数运行时我出错了:

  

致命错误:调用未定义的函数qualityCheck()

这是我的代码:

//include our db file to make a connection to the mysql db
require_once 'db.php';

//our form is providing us with the value of the input field called username through the GET method
//we store it in the variable $regname 
$regname = htmlspecialchars($_GET['username']);
$regmail = htmlspecialchars($_GET['email']);

if (strlen($regname)<5) {
        echo "Username must be at least 5 characters";
} else {

    qualityCheck($regname);

    function qualityCheck($qcName) {

        //rules for username
        $pattern = "^[a-z0-9_-]{5,20}$";

        //first we check that the username fits the rules
        if (preg_match($pattern, $qcName)) {

            //if quality check is pass, wemake a mysql db query and select all rows from table users with the same username as the one
            //that is intended to be used by the registree if the mysql query returns a value then it means
            //that the username exists already and so we must echo an error message back to the form

                $result = mysqli_query($dblink, "SELECT * FROM users WHERE `username` = '$regname'") 
                or die(mysqli_error($dblink));

                if ((mysqli_affected_rows($dblink)) > 0 ) {
                    echo "Username taken already";
                } else {
                    echo "Username available";
                    }
        } else {

            //if username fails the quality check
            echo "Username must consist of A-Z and 0-9";
        }
    }

}

1 个答案:

答案 0 :(得分:2)

您希望将您的功能带出if-else块。你的其他情况应该看起来像这样

} else { 
  qualityCheck($regname);
}