Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > страница


Автор: Гость)) 10.3.2005, 08:38
не подскажите как сделать так чтобы в одном файле страниц было 3 стриници тоесть


вот index.php
-----------------------------
-1стр
-
-
-ссылка на 2 стр
-----------------------------
-2стр
-
-
-ссылка на 3 стр
-----------------------------
-3стр
-
-
-ссылка на 1стр
-----------------------------


вот так можно сделать?

Автор: Mont 10.3.2005, 09:05
Код

switch ($_GET['page']){
   default:
        .... первая страница, можно инклудом...
        echo "<a href=\"".$_SERVER['PHP_SELF']."?page=2\">вторая страница</a>";
        break;
   case '2':
        .... вторая страница, можно инклудом...
        echo "<a href=\"".$_SERVER['PHP_SELF']."?page=3\">третья страница</a>";
        break;
   case '3':
        .... третья страница, можно инклудом...
        echo "<a href=\"".$_SERVER['PHP_SELF']."?page=1\">первая страница</a>";
        break;
}

Автор: PARROT 10.3.2005, 15:04
Код

<?
if(!$stran || $stran==0)
{
?>
<table width=650>
<tr>
<td colspan=3 align=center class=5><u>ìîäåëü 1</u></td>
</tr>
</table>
<center>
<a href="index.php?page=catalog&stran=0" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[1]</a> 
<a href="index.php?page=catalog&stran=1" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[2]</a> 
<a href="index.php?page=catalog&stran=2" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[3]</a> 
</center>
<?}
if($stran==1)
{
?>
<table width=650>
<tr>
<td colspan=3 align=center class=5><u>ìîäåëü 1</u></td>
</tr>
</table>
<center>
<a href="index.php?page=catalog&stran=0" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[1]</a> 
<a href="index.php?page=catalog&stran=1" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[2]</a> 
<a href="index.php?page=catalog&stran=2" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[3]</a> 
</center>
<?}
if($stran==2)
{
?>
<table width=650>
<tr>
<td colspan=3 align=center class=5><u>ìîäåëü 1</u></td>
</tr>
</table>
<center>
<a href="index.php?page=catalog&stran=0" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[1]</a> 
<a href="index.php?page=catalog&stran=1" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[2]</a> 
<a href="index.php?page=catalog&stran=2" style="text-decoration:none; color=black" onmouseover="this.style.color='#595858'; this.style.textDecoration='underline'" onmouseout="this.style.color='black'; this.style.textDecoration='none'">[3]</a> 
</center>
<?}?>


Автор: Mal Hack 10.3.2005, 18:00
PARROT
В данном случае switch обязателен, т.к. для $_GET['stran'] = 47637856 у тебя кода нет smile А там есть default.

Автор: PARROT 10.3.2005, 18:26
Так по умолчанию и есть страница № 0 (default)

Автор: Irokez 10.3.2005, 18:26
smile и причем тут пхп ...

Автор: PARROT 10.3.2005, 18:59
Цитата(Irokez @ 10.3.2005, 18:26)
smile и причем тут пхп ...

<?
if(!$stran || $stran==0)
{
?>
Первая, индексная страница
<?
if(!$stran || $stran==1)
{
?>
Вторая страница индекса
Каждый пишет по своему, это один из простых вариантов.

smile

Разве это не рнр?

Автор: Irokez 10.3.2005, 19:24
Цитата(PARROT @ 10.3.2005, 18:59)
Разве это не рнр?

пхп конечно, только не пойму зачем для такой задачи пхп? будет напрягать сервак и страница будет грузиться дольше... простой хтмл для такой цели спокойно бы подошел ...

Автор: PARROT 10.3.2005, 20:06
smile

Автор: Irokez 10.3.2005, 20:12
smile
страница 1:
Код

Это страница №1
<a href="2.html">страница №2</a>


страница 2:
Код

Это страница №2
<a href="3.html">страница №3</a>


страница 3:
Код

Это страница №3
<a href="1.html">страница №1</a>

Автор: PARROT 10.3.2005, 20:18
Помоему тут совсем иное имеется ввиду. Только не html! Да ладно.

Автор: Mal Hack 10.3.2005, 20:38
Цитата(PARROT @ 10.3.2005, 18:59)
if(!$stran || $stran==0)

$stran = 3435 не пройдет...
У тебя условие: Если не стран, т.е. переменная не задана или имеет значение FALSE или она равна 0...
Т.е. это условие не делает обработки "Остальное".

Автор: PARROT 11.3.2005, 16:32
Цитата(Mal @ 10.3.2005, 20:38)
Цитата(PARROT @ 10.3.2005, 18:59)
if(!$stran || $stran==0)

$stran = 3435 не пройдет...
У тебя условие: Если не стран, т.е. переменная не задана или имеет значение FALSE или она равна 0...
Т.е. это условие не делает обработки "Остальное".

<?}
if($stran==3435)
{
?>
А это для первой страницы
if(!$stran || $stran==0)
Первая страница равна нулю, а там хоть 1000000
Я конечно незнаю, может о разных вещах разговариваем...
smile

Автор: Mal Hack 11.3.2005, 17:42
Цитата(PARROT @ 11.3.2005, 16:32)
Я конечно незнаю, может о разных вещах разговариваем...

Вот смотри, пользователь вводит star = -10. Какое условие у тебя выполнится?

Автор: PARROT 11.3.2005, 17:55
Цитата(Mal @ 11.3.2005, 17:42)
Цитата(PARROT @ 11.3.2005, 16:32)
Я конечно незнаю, может о разных вещах разговариваем...

Вот смотри, пользователь вводит star = -10. Какое условие у тебя выполнится?

А зачем пользователю вводить номер страницы, если он ходит по ссылкам [1] [2]...[3355] ?
Он не может ввести, ему даны только ссылки и все, сколько сылок, столько страниц.

Автор: Mont 11.3.2005, 18:52
Цитата(PARROT @ 11.3.2005, 17:55)
Он не может ввести, ему даны только ссылки и все, сколько сылок, столько страниц.

как это не может? очень даже может!! smile
вот она твоя ссылка:
Код

<a href="index.php?page=catalog&stran=0">...

что увидит в адресной строке браузера пользователь? эту самую ссылку!
а что ему помешает подправить значение stran=0 на stran=-10 ???
ничего ему не помешает!!
а скрипт будет обрабатывать уже -10, не существующую страницу, значит пользователю в лучшем случае будет выведена пустая страница, а в худшем если эта переменная где-нибудь дальше в скрипте используется могут получиться очень большие неприятности...
именно поэтому обработку подобных вещей лучше всего проводить через switch, но если очень, очень хочется использовать if smile , поставь еще и else, где и будет выполнятся все то что не вписывается в эти рамки!

Автор: PARROT 11.3.2005, 19:28
Ладно, уговорили, сдаюсь. smile
Все возможные проблемы все равно не угадаешь.

Автор: Mal Hack 11.3.2005, 19:44
Цитата(PARROT @ 11.3.2005, 17:55)
А зачем пользователю вводить номер страницы, если он ходит по ссылкам [1] [2]...[3355] ?

Ну не все пользователи такие наивные smile

ЗЫ: Есть одно замечательное правило: "Никогда не доверяй данным, пришедшим от пользователя".

Цитата(PARROT @ 11.3.2005, 19:28)
Все возможные проблемы все равно не угадаешь.

Не сказал бы... Теоретически дырка всегда будет (но после тестов должна уйти), но избежать "детских" ошибок на стадии написания основного кода, надо обязательно...

Автор: PARROT 12.3.2005, 00:15
Ну я не спорю, что я еще Кофейник, но я учусь! Стараюсь во всяком случае.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)