Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Констукция навигации ..?type=2 
:(
    Опции темы
Enya
  Дата 11.9.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Частенько приходиться использовать вот такую вот констукцию для организации навигации. Использую для того что бы не распихивать всё по разным файлам. Обычно в $type == 0 например общая информация, а уже если хотя там какой-нибудь подпунктик то просто делаю ссылку на .$_SERVER['PHP_SELF'].'?type=1 вот и у меня вот такой вопрос: когда я вот это использую выскакивает вот такая ошибка
Цитата

Notice: Undefined index: type in /home/ng/public_html/konstru.php on line 3
Скажите, где я не прав и приемлима ли эта констукция? 
Код

<?

$type = (int)$_GET['type'];

if ($type == 0)
    {
        echo 'Если переменная type = 0';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=1">Перейти к пункту 1</a>';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=1">Перейти к пункту 2</a>';

    }elseif ($type == 1){
        
        echo 'Если переменная type = 1';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=1">Перейти к пункту 2</a>';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=0"><<< ВЕРНУТЬСЯ </a>';
        
    }elseif ($type == 2){
    
        echo 'Если переменная type = 2';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=1">Перейти к пункту 1</a>';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=0"><<< ВЕРНУТЬСЯ </a>';
        
    }
?>
Спасибо.


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
PARROT
Дата 11.9.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

<li><a href="<?=$_SERVER['PHP_SELF'];?>?type=1">Перейти к пункту 1</a>


Это сообщение отредактировал(а) PARROT - 11.9.2006, 11:19


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
-=Ustas=-
Дата 11.9.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Лучше так делай:
Код

<?

$type = (isset($_GET['type'])) ? intval($_GET['type']) : 0;

switch($type) {
    case (0):
        echo 'Если переменная type = 0';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=1">Перейти к пункту 1</a>';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=1">Перейти к пункту 2</a>';
        break;
    case (1):
        echo 'Если переменная type = 1';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=1">Перейти к пункту 2</a>';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=0"><<< ВЕРНУТЬСЯ </a>';
        break;
    case (2):
        echo 'Если переменная type = 2';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=1">Перейти к пункту 1</a>';
        echo '<li><a href="'.$_SERVER['PHP_SELF'].'?type=0"><<< ВЕРНУТЬСЯ </a>';
        break;
}

?>




--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Enya
Дата 11.9.2006, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



PARROT, сорри, но можно ли комментарий, а то я что-то не поняла, что конкретно вы имеете в виду? smile

Добавлено @ 11:47 
-=Ustas=-, нет, когда много пунктов, то конечно switch, только у меня оформление были кривоватое.
А вот можно поподробнее о 
Цитата

Notice: Undefined index: type in /home/ng/public_html/konstru.php on line 3



--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 11.9.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Enya @  11.9.2006,  11:46 Найти цитируемый пост)
А вот можно поподробнее о 

Я же уже показал!
Код

$type = (isset($_GET['type'])) ? intval($_GET['type']) : 0;




--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Enya
Дата 11.9.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



-=Ustas=-, спасибо.


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
PARROT
Дата 11.9.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Enya @  11.9.2006,  12:46 Найти цитируемый пост)
комментарий

Лучше выносить html за скобки рнр, а рнр пользоваться в html е <?=$kod;?>. 
Код

 case (0):
?>
       Если переменная type = 0
        <li><a href="<?=$_SERVER['PHP_SELF'];?>?type=1">Перейти к пункту 1</a>
        <li><a href="<?=$_SERVER['PHP_SELF'];?>?type=1">Перейти к пункту 2</a>
<?
        break;





--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
BuShaRt
Дата 12.9.2006, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



PARROT
Лучше выносить HTML за приделы PHP - скрипта  smile 
Твой пример превращает код в непонятную кашу =) Очень не читабельный код становиться...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0903 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.