Обращение к неопределенной функции - PullRequest
1 голос
/ 29 февраля 2012

Я упаковал часть своего кода в функцию.Но когда я пытаюсь запустить функцию, появляется ошибка:

Неустранимая ошибка: вызов неопределенной функции 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 Ответ

2 голосов
/ 29 февраля 2012

Вы хотите вывести свою функцию из блока if-else.Ваш другой случай должен выглядеть следующим образом

} else { 
  qualityCheck($regname);
}
...