Вопрос № 35574: Уважаемые эксперты вот такая маленькая проблемка.
Наверняка вы все часто сталкивались с такой проблемой как кеширование страниц.
Вот и столкнулся. Для отключения кеширования я включил в Php код вот такую "зубодробительную" смесь (га...Вопрос № 35581: Странно. Чуть поменял код. Добавил авторизацию и теперь вместо страницы выводится белый экран.
В папке default лежат файлы шаблонов страниц. Они рабочии. Что то в этом скрипте. Гляньте.
..Вопрос № 35597: Можно ли передать в скрипт имя ссылки (желательно не явно) по которой мы перешли к данному документу?
Например.
Есть некий файл one.php со строкой:
<a href="two.php" name="Suda">Сюда</a>
<a href...Вопрос № 35598: Как с помошью функции header передать имя и пароль пользователя web-серверу, для автоматической регистрации.
Т.е. где-то ввели через форму имя и пароль, а скрип перенаправляет в каталог с .htaccess, где указаны конкретные пользователи.
И...
Вопрос № 35.574
Уважаемые эксперты вот такая маленькая проблемка.
Наверняка вы все часто сталкивались с такой проблемой как кеширование страниц.
Вот и столкнулся. Для отключения кеширования я включил в Php код вот такую "зубодробительную" смесь (гарантированно избавляет от кеширования):
<?
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-modified: ".gmdate("D, d M Y H:i:s")."GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragme: no-cache");
...
?>
НО всё бы ничего да вот только у неё есть побочныйе действия:
Все рисунки стали каждый раз перегружаться (по идее так и должно быть), однако мне это совершенно не нужно.
Итак вопрос:
Как отключить кеширование текстового содержимого страниц, но оставить кеш...(блин) рисунков.
P.S. тут скорее вожно знание headers чем php, но вдруг...
Отвечает: Дмитрий Иванов
Здравствуйте, Golden Spider!
вобщем то есть другой путь. Если ты к каждому линку будешь добавлять дополнительный параметр, допустим time() , то все броузеры будут кешировать графику, а саму страницу постоянно обновлять, так как это будет считаться для них динамическим контентом с постоянно изменяемыми входящими данными.
--------- ставя оценку - подумай, может ты не все описал
Ответ отправил: Дмитрий Иванов (статус: Практикант)
Отправлен: 17.02.2006, 00:15 Оценка за ответ: 5 Комментарий оценки: хммм... хитро... а нельзя ли попроще?
Отвечает: Lector
Здравствуйте, Golden Spider!
Есть вариант проще - добавить сессии, а идентификатор сессии передавать по ссылке :-). У меня яндекс 2 раза в день бывает 8-).
--------- Хочешь помочь старику - сделай вместо него. Хочешь помочь новичку - сделай вместе с ним. Хочешь помочь мастеру - отойди и не мешай, а хочешь помочь дураку - сам дурак.
Ответ отправил: Lector (статус: Студент)
Отправлен: 18.02.2006, 04:45 Оценка за ответ: 5 Комментарий оценки: попробую
Вопрос № 35.581
Странно. Чуть поменял код. Добавил авторизацию и теперь вместо страницы выводится белый экран.
В папке default лежат файлы шаблонов страниц. Они рабочии. Что то в этом скрипте. Гляньте.
Приложение:
Отправлен: 17.02.2006, 00:14
Вопрос задал: Delphin (статус: Студент)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Дмитрий Иванов
Здравствуйте, Delphin!
1.
$users = file( W_PATH."users.conf", "r" ) отсутствие еще одного обратного слеша
на самом деле чтобы не путаться ты можешь спокойно писать D:/web/www/acp
в принципе для PHP это одинаково.
2. if validate( $_POST['usr'], $_POST['pwd'] ){ - забыл скобки
--------- ставя оценку - подумай, может ты не все описал
Ответ отправил: Дмитрий Иванов (статус: Практикант)
Отправлен: 17.02.2006, 00:31 Оценка за ответ: 5 Комментарий оценки: Спасибо !
Вопрос № 35.597
Можно ли передать в скрипт имя ссылки (желательно не явно) по которой мы перешли к данному документу?
Например.
Есть некий файл one.php со строкой:
<a href="two.php" name="Suda">Сюда</a>
<a href="two.php" name="Tuda">Туда</a>
А в файле two.php мы могли узнать по какой ссылке перешли (не используя метод GET).
Отправлен: 17.02.2006, 10:14
Вопрос задал: Connery (статус: 1-ый класс)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Straight
Здравствуйте, Connery!
Можно на onClick вешать запись в куку.
Например так:
<a href="two.php" name="Suda" onClick="setCookie('linkname',this.name)">Сюда</a>
PHP потом возмет значение из $_COOKIE['linkname']
Приложение:
Ответ отправил: Straight (статус: 8-ой класс)
Отправлен: 17.02.2006, 10:33
Отвечает: Андрей_26rus
Здравствуйте, Connery!
Можно сделать так:
а в файле two.php проверяешь $_POST['ssilk']
если $_POST['ssilk']=0 тогда include('suda.php');
если $_POST['ssilk']=1 тогда include('tuda.php');
думаю принцип понятен...
P.S. у таких ссылок есть недостаток - они не будут индексироваться поисковыми роботами
--------- - = Tertium non datur = -
Ответ отправил: Андрей_26rus (статус: 2-ой класс)
Отправлен: 17.02.2006, 10:57
Отвечает: Ерёмин Андрей
Здравствуйте, Connery!
А можно не мудрить с куками и с JS, ибо не у всех эти вещи включены.
На мой взгляд, самый простой способ:
<a href="two.php?suda">Сюда</a>
<a href="two.php?tuda">Туда</a>
Страница ведь откроется одна и та же...
А в two.php обработчик:
if (isset($suda)) { нажали на "Сюда" }
if (isset($tuda)) { нажали на "Туда" }
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 17.02.2006, 13:14
Отвечает: Lector
Здравствуйте, Connery!
смотри в разделе переменных
--------- Хочешь помочь старику - сделай вместо него. Хочешь помочь новичку - сделай вместе с ним. Хочешь помочь мастеру - отойди и не мешай, а хочешь помочь дураку - сам дурак.
Ответ отправил: Lector (статус: Студент)
Отправлен: 18.02.2006, 04:42
Вопрос № 35.598
Как с помошью функции header передать имя и пароль пользователя web-серверу, для автоматической регистрации.
Т.е. где-то ввели через форму имя и пароль, а скрип перенаправляет в каталог с .htaccess, где указаны конкретные пользователи.
И если имя и пароль совпадают, то сервер не должен выводить окно авторизации, а просто пропустить далее.
Отправлен: 17.02.2006, 10:15
Вопрос задал: Connery (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Straight
Здравствуйте, Connery!
Если я правильно понял, Вы хотите сделать HTTP-авторизацию, заданную через .htaccess/htpasswd, не в стандартном окне, а в веб-форме. Боюсь, что это невозможно.
Делайте свою авторизацию - через сессию например.
Ответ отправил: Straight (статус: 8-ой класс)
Отправлен: 17.02.2006, 10:39
Отвечает: Ерёмин Андрей
Здравствуйте, Connery!
Методом эксперимента заметил, что авторизация на сервере делается заголовком Authorization. Вот что именно передаётся: Authorization: Basic YW5kcmV5OjEzMDQ=. В последней "абракадабре" видимо и зашифрованы логин и пароль. К сожалению, каким способом они зашифрованы, мне узнать не удалось. Зато вот здесь описаны все тонкости: http://www.php.net/features.http-auth --------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 17.02.2006, 13:19