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

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
VintoreZ
очень странно,они одинаковые... блин mad.gif
VintoreZ
ошибка была,в представлении ссылки.../main/1- правильно,main/1-неправильно,только я не пойму всё равно на чем это сказывается и какая вроде бы от этого разница...trim всё равно удаляет эту чепуху... dry.gif конечно знания у меня слабоватые... просто наверно ссылки иначе не прдставляют... unsure.gif
burunducek
Цитата (VintoreZ @ 3.08.2010 - 14:07)
ошибка была,в представлении ссылки.../main/1- правильно,main/1-неправильно,только я не пойму всё равно на чем это сказывается и какая вроде бы от этого разница...trim всё равно удаляет эту чепуху... dry.gif конечно знания у меня слабоватые... просто наверно ссылки иначе не прдставляют... unsure.gif

скорее всего ссылка не так написана.
что то типа:
./folder/page
обрати внимание на точку перед слэшем.
Если она стоит, значит путь будет начинаться от текущей папки.
А так как ты тыкаешь несколько раз, сначала у тебя в переменной Get храниться '/folder/page', когда жмёшь ещё раз то поиск идёт от папки folder, тоесть ты ищешь файл page в папке folder которая находится в папке folder "/folder/folder/page".
И так далее чем больше тыкаешь по ссылке тем глубже идёт поиск по folder-ам.
Так происходит ещё из-за того что включен мод_реврайт, который выковыривает этот путь и пересылает тебя в индексный файл, и сохраняет обрубок в Get-е.
Решение: убрать точку перед слэшем unsure.gif
Omega
Здравствуйте, извините за возможно тупой вопрос, но не могли бы Вы объяснить следующее: я вводил в адресной строке конфиг, защищённый по способу, описанному в эом уроке. В результате, после первого раза - получил нашу страничку 404.html, а в следующие разы - стандартную от IE. Почему так?
twin
Вообще разные браузеры по разному реагируют на заголовок 404. По этому так наверное.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Omega
Действительно... проверил в опере - всё работает как надо. Спасибо.
guenii
По поводу массива $GET:

Прочитал много, но всё равно вопросы возникают всё время. К примеру, у нас есть массив $GET.

$GET = array(

'page' => 'main',
'rem' => 'read',
'id' => 0,
'num' => 0

);

Допустим нам надо добавить еще одну переменную 'search', ну или скажем 'month'... Мы делаем так:

$GET = array(

'page' => 'main',
'rem' => 'read',
'id' => 0,
'num' => 0,
'month' => 0

);


у нас получается ссылка page=main&rem=read&num=1&month=11

теперь если мне скажем надо прописать где-то ссылку href('page=guest','rem=read'), то month=11 у нас остается и соответственно значения на страницу выводятся уже не те... то бишь мне надо теперь в ссылках обнулять month? типа href ('page=guest','rem=read', 'month=') ?

А если у меня таких параметров уже 5 или 10 будет? Не будешь же переписывать заново каждую ссылку... Может как-то прописать в самой функции href() на обрезание (обнуление) тех элементов массива, которые не указываются????
twin
Думайте. smile.gif Это же не фреймворк костный. Тут правил нет - показаны просто принципы. Меняйте под себя как надо, делитесь наработками. Может кому еще пригодится.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
guenii
ясно... думал уже есть у кого-то... ладно, с этим справлюсь.... тогда другой, проблемный вопрос, который меня тревожит...

в данное время всё работает в опере и ИЕ, а вот почем-то firefox не принимает, вырисовывает только шапку и футер... пробовал с разных компов.... всё то же...

Кто-нибудь знает в чем может быть проблема??? Хотелось бы, чтобы это работало везде... smile.gif
twin
Это уже частный вопрос. Явно что то с версткой напутано. Те примеры, которые в листингах, работают везде.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
guenii
ну вот вроде бы так:

допустим у меня получается вот такая ссылка

http://.....com/?page=class&rem=read&num=2&search=ins&month=08&day=04

Если мне надо просто перейти по такой ссылке ('page=guest', 'rem=read', 'group=1'), то остаются и другие переменные мешающие правильной фильтрации данных....

Сделал таким образом:

Если мне надо обнулить остальные переменные, добавляю в конце ссылки еще один параметр

('page=guest', 'rem=read', 'group=1', 'true')

а в функции href() добавляем такие строчки:


if (($arg[count($arg) - 1]) == 'true') // проверяем если есть такой параметр
{
$arg = array_slice ($arg, 0, -1); // Обрезаем 'true' из массива
$tmp = array_fill_keys (array_keys($GET), 0); // обнуляем все параметры
}


а дальше функция выполняет свою работу и заполняет все ключи массива переданными параметрами, либо если нет 'true', работает как и было...
twin
Неплохая идея. Покатаем и поставим в основной курс. Спасибо. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
slo_nik
Добрый вечер.
Хочу сделать маленькое дополнение, совсем не значительное, но может кому то и пригодится.
В самом начале урока, говорится о проверке константы и выводе 404 ошибки, если запрашивается файл в обход index. И есть маленькое замечание :
Цитата
Этими строчками должен начинаться каждый файл PHP (кроме индекса) в системе. Только нужно не запутаться с путями, что бы на выдаче всегда была 404.

Не проще ли написать так

<?php
if(!defined("IRB_KEY")){
header("HTTP/1.1 404 Not Found");
exit(file_get_contents($_SERVER['DOCUMENT_ROOT']."/errorpage/404.html"));
}
?>

Саму папку со страницами ошибок положить в корень сайта.
Тогда не надо будет ломать голову с путями и выстраивать цепочки " ../../ ", срабатывать будет на любом уровне вложенности. Если набрать в адресной строке не существующий файл, так же будет выдана ошибка 404
twin
а если скрипт не в корне сайта?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

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