Хочу сделать переход по уровням в каталоге, каталог загружается сразу на главной странице, но работает не так как надо, а именно после перехода по ссылке, он отображает предыдущий уровень.
PHP |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
| <?php
# ?cat=basic&icb=1&icml=1&icmd=1
if (!isset($_REQUEST['cat'], $_REQUEST['icb'], $_REQUEST['icml'], $_REQUEST['icmd'])) {
echo '<hr>';
echo 'уровень a';
echo '<br>';
$sCatName = 'basic';
$sIDa1 = 1;
$sIDa2 = 2;
$sIDa3 = 3;
echo '<a href="?cat='.$sCatName.'&icb='.$sIDa1.'"> sIDa1 </a>';
echo '<a href="?cat='.$sCatName.'&icb='.$sIDa2.'"> sIDa2 </a>';
echo '<a href="?cat='.$sCatName.'&icb='.$sIDa3.'"> sIDa3 </a>';
} else {
# code...
}
if (isset($_REQUEST['cat'], $_REQUEST['icb']) && !isset($_REQUEST['icml'], $_REQUEST['icmd'])) {
echo '<hr>';
echo 'уровень b';
echo '<br>';
$sCatName = 'basic';
$sIDb1 = 1;
$sIDb2 = 2;
$sIDb3 = 3;
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$sIDb1.'"> sIDb1 </a>';
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$sIDb2.'"> sIDb2 </a>';
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$sIDb3.'"> sIDb3 </a>';
} else {
# code...
}
if (isset($_REQUEST['cat'], $_REQUEST['icb'], $_REQUEST['icml']) && !isset($_REQUEST['icmd'])) {
echo '<hr>';
echo 'уровень c';
echo '<br>';
$sCatName = 'basic';
$sIDc1 = 1;
$sIDc2 = 2;
$sIDc3 = 3;
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$_REQUEST['icml'].'&icmd='.$sIDc1.'"> sIDc1 </a>';
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$_REQUEST['icml'].'&icmd='.$sIDc2.'"> sIDc2 </a>';
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$_REQUEST['icml'].'&icmd='.$sIDc3.'"> sIDc3 </a>';
} else {
# code...
}
if (isset($_REQUEST['cat'], $_REQUEST['icb'], $_REQUEST['icml'], $_REQUEST['icmd'])) {
echo '<hr>';
echo 'уровень d';
echo '<br>';
$sCatName = 'basic';
$sIDd1 = 1;
$sIDd2 = 2;
$sIDd3 = 3;
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$_REQUEST['icml'].'&icmd='.$_REQUEST['icmd'].'"> sIDd1 </a>';
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$_REQUEST['icml'].'&icmd='.$_REQUEST['icmd'].'"> sIDd2 </a>';
echo '<a href="?cat='.$sCatName.'&icb='.$_REQUEST['icb'].'&icml='.$_REQUEST['icml'].'&icmd='.$_REQUEST['icmd'].'"> sIDd3 </a>';
} else {
# code...
}
?> |
|
Начало:
уровень a
sIDa1 sIDa2 sIDa3
Переходим по ссылке:
уровень a
sIDa1 sIDa2 sIDa3
уровень b
sIDb1 sIDb2 sIDb3
Еще раз по ссылке:
уровень a
sIDa1 sIDa2 sIDa3
уровень b
sIDb1 sIDb2 sIDb3
уровень c
sIDc1 sIDc2 sIDc3
Опять переход по ссылке и только теперь он отображает то что надо:
уровень d
sIDd1 sIDd2 sIDd3
Что не так? Где я ошибся?
Добавлено через 4 часа 16 минут
Разобрался, нельзя делать так:
PHP |
1
| !isset($_REQUEST['cat'], $_REQUEST['icb'], $_REQUEST['icml'], $_REQUEST['icmd']) |
|
Нужно так:
PHP |
1
| !isset($_REQUEST['cat']) && !isset($_REQUEST['icb']) && !isset($_REQUEST['icml']) && !isset ($_REQUEST['icmd']) |
|