Возвращение не дает мне правильную страницу - PullRequest
0 голосов
/ 03 июня 2019

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

Это URL-адрес, когда я использую параметр фильтра.

 index.php?action=page=activities&dayparts%5B%5D=2

Затем я перехожу на страницу подробностей одногомероприятий.Затем я возвращаюсь и оказываюсь на домашней странице, в то время как это URL:

 index.php?action=page=activities&dayparts%5B%5D=2

Тот же URL, но я перенаправляю меня обратно на домашнюю страницу.Если я не использую опцию фильтра, и если я перейду к деталям действия, я не вернусь на домашнюю страницу.

Вот так выглядит мой HTML:

<form id="form--filter" method="get" action="index.php">
   <input type="hidden" name="page" value="activities" />

А это мой index.php:

<?php
session_start();
ini_set('display_errors', true);
error_reporting(E_ALL);

$routes = array(
  'home' => array(
      'controller' => 'Home',
      'action' => 'index'
  ),
  'activities' => array(
      'controller' => 'Activities',
      'action' => 'activities'
  ),
  'activity-detail' => array(
      'controller' => 'Activities',
      'action' => 'detail'
  ),
  'yearly-detail' => array(
    'controller' => 'Activities',
    'action' => 'yearly'
  ),
  'locations' => array(
    'controller' => 'Locations',
    'action' => 'locations'
  ),
  'register' => array(
    'controller' => 'Register',
    'action' => 'register'
  ),
  'tickets' => array(
    'controller' => 'Tickets',
    'action' => 'tickets'
  ),
  'cart' => array(
    'controller' => 'Orders',
    'action' => 'cart'
  ),
  'checkout' => array(
    'controller' => 'Orders',
    'action' => 'checkout'
  )
);

if (empty($_GET['page'])) {
  $_GET['page'] = 'home';
}
if (empty($routes[$_GET['page']])) {
  header('Location: index.php');
  exit();
}

$route = $routes[$_GET['page']];
$controllerName = $route['controller'] . 'Controller';

require_once __DIR__ . '/controller/' . $controllerName . ".php";

$controllerObj = new $controllerName();
$controllerObj->route = $route;
$controllerObj->filter();
$controllerObj->render();

Я как-то где-то напутал, но яне могу найти это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...