[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Курсы PHP. Урок №2 от IRBIS-team
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
ohxxx
Добрый день IRBIS-team и г-н Twin

Сразу извиняюсь что много постов просто я сам курс тоже изучаю (хоть и второй раз просто первый раз всё было так смутно щас хоть начинаю понимать )
но я буду по мере его прочтения постить.


1. Собственно текст урока Nr-2
Там где будет ХХХ жирным надо будет добавить ниже в посте написанно что.

Теперь если запустить сайт, то мы увидим пустой массив $_GET и массив $GET с дефолтными (по умолчанию) значениями. А теперь наберите в адресной строке это:
http://test.den/10/5/7/3 
и увидте, что массив $GET заполнен и все на своём месте. ХХХ Хотя сами элементы (mod, rem, id и page) в массиве $_GET отсутствуют, есть только route. И если выключить реврайт, закомментировать отвечающие за это строки в .htaccess, и набрать в строке это:
http://test.den/?mod=10&rem=5&id=7&page=3 

то все в массиве $GET так же и останется.

Вместо ХХХ текст ниже :
Ааа...а. не работет и тарасировщик выдаёт выдаёт
Array
(
[
page] => main
[rem] => read
[id] => 0
[num] => 0
)

а все потому что у нас в config.php стоит define('IRB_REWRITE', 'off');
включите IRB_REWRITE заменив off на on

(лишний раз сбегав в config.php больше запомнят структуру cool.gif )


2.Тут я тупо смотрел на текст ,пока до меня дошло...
текст урока :
И если выключить реврайт, закомментировать отвечающие за это строки в .htaccess, и набрать в строке это:
http://test.den/?mod=10&rem=5&id=7&page=3 
то все в массиве $GET так же и останется.


* Какие строчки комментировать немешалобы написать чтобы не бегать по всему предыдущему материалу и неискать что за такие строчки надо комментировать.
* А что если в конфиге отключить ? Зачем тогда у нас config.php прописанно
define('IRB_REWRITE', 'on');   

Да да я понимаю что профи это легко. Но поверьте нубу это далеко нелегко.

3. Предлогаю немного изменить код
код из урока

/**
* Если включен REWRITE (тогда URL будет вида: site.ru/atr1/atr2/atr3) и есть входные параметры, то
*/

if(IRB_REWRITE == 'on' && !empty($_GET['route']))
{
/**
* Обрабатываем значение $_GET['route'], которое содержит в себе atr1/atr2/atr3.
* 1. Удаляем '/' в начале и конце строки функцией trim()
* 2. Разделяем полученную строку функцией explode() по символу '/'
* 3. Записываем полученные значения во временный массив $param
*/

$param = explode('/', trim($_GET['route'], '/'));
$i = 0;


заменить на такой

/**
* Если включен REWRITE (тогда URL будет вида: site.ru/atr1/atr2/atr3) и есть входные параметры, то
*/

if(IRB_REWRITE == 'on' && !empty($_GET['route']))
{
/**
* Обрабатываем значение $_GET['route'], которое содержит в себе atr1/atr2/atr3.
* 1. Удаляем '/' в начале и конце строки функцией trim() и заносим во временную переменную $get_trimed
* 2. Разделяем полученную строку функцией explode() по символу '/'
* 3. Записываем полученные значения во временный массив $param
*/

$get_trimed = trim($_GET['route'] ,'/');
$param = explode('/', $get_trimed);
$i = 0;


* Это будет легче понимать новичкам.
* Да и не думаю что код затормозит сильно от такого изменения . Хотя если я не прав поправьте меня.

И надеюсь я правильно разбил код на две строчки.

C уважением Ohxxx

_____________
Подпись отключена за НЕуплату
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.