login accesses the super-global variable $_POST. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
isLoggedIn accesses the super-global variable $_SESSION. Open
public static function isLoggedIn()
{
if (isset($_SESSION['attogram_id'])
&& $_SESSION['attogram_id']
&& isset($_SESSION['AttogramUsername'])
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_POST. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_SESSION. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_SESSION. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_SESSION. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_POST. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_POST. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
isLoggedIn accesses the super-global variable $_SESSION. Open
public static function isLoggedIn()
{
if (isset($_SESSION['attogram_id'])
&& $_SESSION['attogram_id']
&& isset($_SESSION['AttogramUsername'])
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
isLoggedIn accesses the super-global variable $_SESSION. Open
public static function isLoggedIn()
{
if (isset($_SESSION['attogram_id'])
&& $_SESSION['attogram_id']
&& isset($_SESSION['AttogramUsername'])
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_POST. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_POST. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
isLoggedIn accesses the super-global variable $_SESSION. Open
public static function isLoggedIn()
{
if (isset($_SESSION['attogram_id'])
&& $_SESSION['attogram_id']
&& isset($_SESSION['AttogramUsername'])
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
login accesses the super-global variable $_SESSION. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
- Exclude checks
Superglobals
Since: 0.2
Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.
Example
class Foo {
public function bar() {
$name = $_POST['foo'];
}
}
Source
Method login
has 29 lines of code (exceeds 25 allowed). Consider refactoring. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
Avoid too many return
statements within this method. Open
return true;
Function login
has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring. Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
{
if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
$log->error('LOGIN: missing username or password');
return false;
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Avoid using undefined variables such as '$bind' which will lead to PHP notices. Open
$bind
- Read upRead up
- Exclude checks
UndefinedVariable
Since: 2.8.0
Detects when a variable is used that has not been defined before.
Example
class Foo
{
private function bar()
{
// $message is undefined
echo $message;
}
}
Source https://phpmd.org/rules/cleancode.html#undefinedvariable
Avoid using undefined variables such as '$bind' which will lead to PHP notices. Open
$bind[':u'] = $_POST['u'];
- Read upRead up
- Exclude checks
UndefinedVariable
Since: 2.8.0
Detects when a variable is used that has not been defined before.
Example
class Foo
{
private function bar()
{
// $message is undefined
echo $message;
}
}
Source https://phpmd.org/rules/cleancode.html#undefinedvariable
Avoid using undefined variables such as '$bind' which will lead to PHP notices. Open
$bind[':p'] = $_POST['p'];
- Read upRead up
- Exclude checks
UndefinedVariable
Since: 2.8.0
Detects when a variable is used that has not been defined before.
Example
class Foo
{
private function bar()
{
// $message is undefined
echo $message;
}
}
Source https://phpmd.org/rules/cleancode.html#undefinedvariable
Call to method debug
from undeclared class \Psr\Log\LoggerInterface
Open
$log->debug('LOGIN: User Logged in');
- Exclude checks
Parameter $database
has undeclared type \Attogram\AttogramDatabaseInterface
Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database);
- Exclude checks
Parameter $database
has undeclared type \Attogram\AttogramDatabaseInterface
Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
- Exclude checks
Call to method error
from undeclared class \Psr\Log\LoggerInterface
Open
$log->error('LOGIN: Login system offline');
- Exclude checks
Call to method error
from undeclared class \Psr\Log\LoggerInterface
Open
$log->error('LOGIN: missing username or password');
- Exclude checks
Reference to instance property database
from undeclared class \Attogram\AttogramDatabaseInterface
Open
if (!$database->database || $database->database->errorCode() != '00000') {
- Exclude checks
Call to method error
from undeclared class \Psr\Log\LoggerInterface
Open
$log->error('LOGIN: Login system error');
- Exclude checks
Parameter $log
has undeclared type \Psr\Log\LoggerInterface
Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database);
- Exclude checks
Call to method error
from undeclared class \Psr\Log\LoggerInterface
Open
$log->error('LOGIN: Invalid login');
- Exclude checks
Call to method query
from undeclared class \Attogram\AttogramDatabaseInterface
Open
$user = $database->query(
- Exclude checks
Parameter $log
has undeclared type \Psr\Log\LoggerInterface
Open
public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
- Exclude checks
Variable $bind
was undeclared, but array fields are being added to it. Open
$bind[':u'] = $_POST['u'];
- Exclude checks
Each interface must be in a file by itself Open
class AttogramUser implements AttogramUserInterface
- Exclude checks