У меня есть небольшой скрипт для проверки базы данных для значения 0 или 1, но я не могу заставить его работать, я пробовал подсчет строк, но имею ту же проблему.User Active Check
public function is_active($id){
$stmt = $this->db->prepare("SELECT activedd FROM users WHERE id=:id LIMIT 1");
$stmt->execute(array(':id'=>$id));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($userRow == '0'){
return true;
}else{
return false;
}
}
Функция затем вызывается на всех страницах
$id = $_SESSION['session'];
if(!$user->is_active($id)){
$user->redirect('../users/inactive.php');
}
Изменение значения в ячейке не делает никакой разницы, я только получить другой результат, изменив
$id = $_SESSION['session']; if(!$user->is_active($id)){ $user->redirect('../users/inactive.php'); }
до
$id = $_SESSION['session']; if($user->is_active($id)){ $user->redirect('../users/inactive.php'); }
Но даже тогда у меня такая же проблема, но все наоборот. Я пытаюсь перенаправить пользователей на неактивном страницу, когда $userRow == 0
и позволить им продолжать использовать веб-сайт, если он равен 1.
Попробуйте 'если ($ userRow [«activedd»] ==«0») {'. Вы сравниваете ассоциативный массив с '0' с вашим текущим кодом. – andrewsi
Добавьте сообщение об ошибках в начало вашего файла (ов) сразу после открытия PHP-тега, например ' Php error_reporting (E_ALL); ini_set ('display_errors', 1); 'тогда остальная часть вашего кода, чтобы убедиться, что он что-то дает. –
У меня нет, я просто не думал, что мне нужно добавить всю страницу. –