Есть страница с вкладками, сделанными вот так:
[font=courier]
<?php
// ===================
// ОТОБРАЖЕНИЕ КЛИЕНТА
// ===================
$this_page = "client";
include 'core.php';
include CLIENTS_MOD_DIR . 'functions.php';
?>
<html>
<?php get_header(); ?>
<body>
<section id="main_menu">
<div class="container">
<?php get_menu(); ?>
</div>
</section>
<section id="section_title">
<div class="container">
<div class="section_title">
<span>Sony Corporation</span>
</div>
<section id="page_tabs">
<ul><?php get_client_subpages(); ?></ul>
</section>
</div>
</section>
<section id="workspace">
<div class="container">
<?php
if(isset($_GET['tab'])) $choice=$_GET['tab'];
else $choice='';
switch ($choice) {
case 'overview':
include CLIENTS_MOD_DIR . 'client_overview.php';
break;
case 'objects':
include CLIENTS_MOD_DIR . 'client_objects.php';
break;
case 'events':
include CLIENTS_MOD_DIR . 'client_events.php';
break;
case 'details':
include CLIENTS_MOD_DIR . 'client_details.php';
break;
case 'contracts':
include CLIENTS_MOD_DIR . 'client_contracts.php';
break;
default:
include CLIENTS_MOD_DIR . 'client_overview.php';
break;
}
?>
</div>
</section>
</body>
</html>
[/font]
Сами табы переключаются так:
function get_client_subpages(){
// Обзор событий
if($_GET['tab'] == 'general' || $_GET['tab'] == null) {
echo '<li class="current_tab"><a href="/client.php">Общая информация</a></li>';
} else {
echo '<li><a href="/client.php?id=' . $_COOKIE["client_id"] . '">Общая информация</a></li>';
}
// Реквизиты
if($_GET['tab'] == 'details') {
echo '<li class="current_tab"><a href="?tab=details">Реквизиты</a></li>';
} else {
echo '<li><a href="?tab=details&client_id=' . $_COOKIE["client_id"] . '">Реквизиты</a></li>';
}
// Объекты
if($_GET['tab'] == 'objects') {
echo '<li class="current_tab"><a href="?tab=objects">Объекты</a></li>';
} else {
echo '<li><a href="?tab=objects">Объекты</a></li>';
}
// Договора
if($_GET['tab'] == 'contracts') {
echo '<li class="current_tab"><a href="?tab=contracts">Договора</a></li>';
} else {
echo '<li><a href="?tab=contracts">Договора</a></li>';
}
// События
if($_GET['tab'] == 'events') {
echo '<li class="current_tab"><a href="?tab=events">События</a></li>';
} else {
echo '<li><a href="?tab=events">События</a></li>';
}
}
Я хочу, чтобы при переходе по внутренним вкладкам страницы у меня сохранялся id клиента, которого я загрузил и, соответственно, о нем отображалась информация во вкладках.
По логике, надо использовать куки, но если я выбираю одного клиента, а потом возвращаюсь обратно и выбираю другого, то при загрузке страницы на первую вкладку по умолчанию у меня все еще отображается информация о другом клиенте до тех пор, пока я не переключусь на другую вкладку.
Как это сделать?
Спустя 8 минут, 50 секунд (18.06.2012 - 11:58) m4a1fox написал(а):
Сессия || куки... На ваш выбор.
Спустя 14 минут, 57 секунд (18.06.2012 - 12:13) vagrand написал(а):
ни сессия ни куки тут не нужны, надо протягивать ид клиента
Спустя 5 минут, 12 секунд (18.06.2012 - 12:18) nomnomnom написал(а):
vagrand, ок, как?
Спустя 18 минут, 55 секунд (18.06.2012 - 12:37) nomnomnom написал(а):
По-моему, у меня получилось.
В самое начало страницы client.php я добавил блок:
А во все ссылки табов:
В самое начало страницы client.php я добавил блок:
if(isset($_GET['id']) && $_GET['id'] !== null) {
$client_id = $_GET['id'];
}
А во все ссылки табов:
?tab=objects&id=' . $_GET['id']
Спустя 14 минут, 16 секунд (18.06.2012 - 12:51) vagrand написал(а):
да именно так