Helpers - компьютеры, интернет, программирование

Пользователь не перенаправляется обратно на последнюю посещенную страницу после выхода из системы

На моем веб-сайте я пытаюсь перенаправить пользователей обратно на последнюю страницу, которую они посетили после повторного входа в систему, но я не получаю этого. Я использовал файл cookie для отслеживания их последней посещенной страницы и создал страницу перенаправления, чтобы проверить, существует ли файл cookie, и если он существует, он должен перевести их на последнюю страницу, на которой они остановились.

вот заголовок моего сайта, который я включил на все страницы:

include('../includes/admins.php');  

// Set your cookie before redirecting to the login page
$current_page = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$_COOKIE['redirect_to'] = $current_page;

$cookie_name = $_COOKIE['redirect_to'];
$cookie_value = $current_page;
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
     <meta name="description" content="Automating your school work.">
    <meta name="author" content="<?php echo $set['siteName']; ?>">
    <meta name="keyword" content="content, management, system, schools, school management system, schoool portal, chat, link, linkedln, <?php echo $set['siteName']; ?>">
    <link rel="icon"  href="<?php echo $set['installUrl'].'logo/'.$set['schoolLogo']; ?>" type="image" />
    <title><?php echo $fullname;  ?></title>
    <!-- Favicon-->
    <link rel="apple-touch-icon" sizes="57x57" href="images/apple-icon-57x57.png">
    <link rel="apple-touch-icon" sizes="60x60" href="images/apple-icon-60x60.png">
     <link rel="manifest" href="images/manifest.json">
    <meta name="msapplication-TileColor" content="#ffffff">
    <meta name="msapplication-TileImage" content="images/ms-icon-144x144.png">
    <meta name="theme-color" content="">
    <!-- Google Fonts -->
    <link href="../afiles/css/font.css" rel="stylesheet" type="text/css">
    <link href="../afiles/css/icon.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link href="../afiles/css/font-awesome.min.css" rel="stylesheet"  type="text/css">
    <!-- Bootstrap Core Css -->
    <link href="../afiles/plugins/bootstrap/css/bootstrap.css" rel="stylesheet">
    <link rel="stylesheet" href="../afiles/css/bootstrap-material-datetimepicker.css" />
</head>

Если вы посмотрите наверх, вы увидите, что я включаю файл cookie.

Вот страница перенаправления, чтобы увидеть, существуют ли файлы cookie:

<?php
include('../includes/functions.php');

if(!isset($_COOKIE[$cookie_name])) {
    header("Location: main");
} else {
    header("Location: ". $cookie_name);
}

?>

Нужен кто-то, чтобы указать мне правильное направление.

05.05.2018

  • $cookie_name может быть неопределенным во втором блоке кода. 05.05.2018
  • @GytisTenovimas, да, ты прав. Я повторяю значение на странице входа, но оно дает уведомление: неопределенная переменная: cookie_value в C:\wamp\www\totallight\i_admin\sign-in.php в строке 5. Как вы думаете, что я могу сделать? 05.05.2018
  • Поскольку теперь понятно, почему не работает, могу ответить на ваш вопрос, как решить эту проблему. :) 05.05.2018

Ответы:


1

Во втором блоке кода у вас есть $_COOKIE[$cookie_name], но поскольку вы не определили $cookie_name в своем файле, !isset($_COOKIE[$cookie_name]) всегда будет возвращать false. Возможные решения:

Заменять

if(!isset($_COOKIE[$cookie_name])) {

с

if(!isset($_COOKIE['redirect_to'])) {

Чтобы соответствовать значению индекса первого кода блока.

Второй вариант, если вы думаете, что можете изменить значение redirect_to, состоит в том, чтобы определить константу в отдельном файле, а затем используйте ее в обоих ваших блоках.

05.05.2018
Новые материалы

Интуитивное понимание тензоров в машинном обучении
Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

Почему объяснимость так важна прямо сейчас?
По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..