Обучение/Помощь новичкам | Туплю.
Тема закрыта by
crew_
Причина: fix
Причина: fix
Всем добра. Что-то где-то накосячил, и теперь не могу разобраться. После создания экземпляра класса скрипт перестает работать. Пример:
В примере hello не выведется на экран. При этом никакой ошибки на экран тоже не выводится.
Php: 5.6.23
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
$User = new User();
$User->auth();
echo 'hello';
В примере hello не выведется на экран. При этом никакой ошибки на экран тоже не выводится.
Php: 5.6.23
PDO?
$User = new User();
а то гдет это я видел
$User = new User();
а то гдет это я видел
[Brony] pimnik98 , ооп типа
_TURBO_ , класс тоже скинь
UPD: Где-то в классе накосячил, ибо если другой класс вызвать то все норм.
Кому не лень, посмотрите. Ибо я что-то не понимаю.
Кому не лень, посмотрите. Ибо я что-то не понимаю.
<?php
class User
{
private $authStatus;
public function __construct()
{
self::checkAuthStatus();
}
# Check user authorization status;
private function checkAuthStatus()
{
if (!empty($_SESSION['userId']) &&
!empty($_SESSION['userSession']) &&
!empty($_COOKIE['userId']))
{
if (is_numeric($_SESSION['userId']) &&
is_numeric($_COOKIE['userId']))
{
if ($_SESSION['userId'] == $_COOKIE['userId'])
{
$check = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ". USERS ." WHERE `id` = ?", [$_SESSION['userId']]);
if (!empty($check))
{
$profile = DB::$dbs->queryFetch("SELECT `userSession` FROM ". USERS ." WHERE `id` = ?", [$_SESSION['userId']]);
if ($_SESSION['userSession'] == $profile['userSession'])
{
$this->authStatus = 1;
exit();
}
else
{
$this->authStatus = 0;
self::unsetUser();
exit();
}
}
else
{
$this->authStatus = 0;
self::unsetUser();
exit();
}
}
else
{
$this->authStatus = 0;
self::unsetUser();
exit();
}
}
else
{
$this->authStatus = 0;
self::unsetUser();
exit();
}
}
else
{
$this->authStatus = 0;
exit();
}
}
# Unset all user data;
public function unsetUser()
{
if (!empty($_SESSION['userId']))
{
unset($_SESSION['userId']);
}
if (!empty($_SESSION['userSession']))
{
unset($_SESSION['userSession']);
}
if (!empty($_COOKIE['userId']))
{
setcookie("userId", "", $_SERVER['REQUEST_TIME'] - 60, "/");
}
}
# Check user authorization for access to page;
# $code => 0 only for not auth. => 1 only for auth;
public function auth($code = null)
{
if (empty($code))
{
if (!empty($this->authStatus))
{
header("Location: ". HOME ."/game.main");
exit();
}
else
{
return false;
}
}
else if (!empty($code))
{
if (empty($this->authStatus))
{
header("Location: ". HOME ."/game.index");
exit();
}
else
{
return false;
}
}
}
}
Блин... Надо больше спать. Про exit забыл.