我正在使用PHP
创建一个网站。
我有一个活动列表,并且有一些过滤器选项。
过滤器选项运行良好,但是当我过滤并转到活动详细信息页面然后返回时。我最终进入主页,但网址仍然正确。
这是我使用过滤器选项时的网址。
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();
我以某种方式弄乱了地方,但找不到。