imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 25.04.2005, 22:50     # 21
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
используется PHP4, к сожелению я не имею доступа к настройкам.
я точно не знаю, но может проблема в сервере - используется Windows XP в роли сервака, но и его я к сожалению тоже изменить не могу. Раньше примерно полгода назад, все это работало на Linuxe, а затем по техническим причинам сервак поменяли и ваще с этой Windoй не доконца понимаю как она работает...
Vaston509 вне форума  
Старый 26.04.2005, 08:47     # 22
Al-x
Junior Member
 
Регистрация: 30.03.2003
Адрес: СПб
Сообщения: 162

Al-x МолодецAl-x МолодецAl-x Молодец
Код:
<?php
phpinfo();
?>
Покажет все настройки сервака. Результат в студию
__________________
640Kbytes should be enough for everything! (c) Bill Gates, 1981.
Все "спасибо" в репутацию
Al-x вне форума  
Старый 26.04.2005, 09:39     # 23
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
PHP Version 4.3.10

System Windows NT S1M0NE-OLD 5.1 build 2600
Build Date Dec 14 2004 17:46:48
Server API Apache
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS\php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety enabled
Registered PHP Streams php, http, ftp, compress.zlib

This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies




вот вроде бы все настройки

Последний раз редактировалось Vaston509; 03.05.2005 в 10:18.
Vaston509 вне форума  
Старый 26.04.2005, 19:00     # 24
Al-x
Junior Member
 
Регистрация: 30.03.2003
Адрес: СПб
Сообщения: 162

Al-x МолодецAl-x МолодецAl-x Молодец
Вроде ничего необычного (на первый взгляд). на второй тоже Единственное, что приходит в голову - ты из какой директории и через какой адрес вызывал "неработающий" скрипт?
Я имею ввиду, что для нормальной работы (если назвать его lock.php) его нужно поместить в папку c:/program files/apache group/apache/users/vaston/lock.php и запрашивать по адресу sziklai.obuda.kando.hu/~vaston/lock.php
Каков результат?
__________________
640Kbytes should be enough for everything! (c) Bill Gates, 1981.
Все "спасибо" в репутацию
Al-x вне форума  
Старый 26.04.2005, 19:17     # 25
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
Наверное я совсем тормоз, я почему то не подумал, что страница должна называться lock.php, теперь пока все работает, как появится трудности сразу сообщю
Vaston509 вне форума  
Старый 27.04.2005, 09:42     # 26
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Vaston509:
Наверное я совсем тормоз, я почему то не подумал, что страница должна называться lock.php
Да она может называться как угодно, главное чтобы обрабатывалась она на PHP!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 27.04.2005, 13:55     # 27
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
Не подскажите как удалять файл lock когда пользоваетль покидает страницу...

Последний раз редактировалось Vaston509; 27.04.2005 в 14:09.
Vaston509 вне форума  
Старый 27.04.2005, 16:30     # 28
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
Как убить файл разобрался unlink, а вот как сделать, чтоб по окончанию $timeout умирал файл и загружалась новая страница????

Последний раз редактировалось Vaston509; 27.04.2005 в 16:35.
Vaston509 вне форума  
Старый 27.04.2005, 17:38     # 29
Ale
Junior Member
 
Регистрация: 22.03.2004
Сообщения: 123

Ale Известность не заставит себя ждатьAle Известность не заставит себя ждать
2 совершенно разных вопроса, однако решение одно

Убивать файл нет необходимости, бо скрипт все-равно при каждом запросе проверяет срок годности. Проверить здесь юзер или уже свалил можно заставив браузер отмечаться каждые N сек (напр N=$timeout) для этого напр вставить в заголовок метатег Refresh:
<meta http-equiv=Refresh content=" <?php echo $timeout; ?>; URL=lock.php">
Не оч понятно что такое "управление роботом" - если вдруг обновлять страницу в этом процессе нельзя, придется это делать посредством iframe
Ale вне форума  
Старый 28.04.2005, 09:18     # 30
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
Если не сложно можно описать вариант с iframe, а то с refreshом не доконца получается, т.к. на странице есть еще другие кнопки (кнопки управления) и когда пользователь кликает на них, то страница обнавляется, соответственно, после обнавления, refresh работает как то не нормально...
Vaston509 вне форума  
Старый 28.04.2005, 10:09     # 31
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Vaston509:
Не подскажите как удалять файл lock когда пользоваетль покидает страницу... :Ezo!:
Цитата:
Vaston509:
Как убить файл разобрался unlink, а вот как сделать, чтоб по окончанию $timeout умирал файл и загружалась новая страница????
Этого делать совершенно не требуется - в моем скрипте в него пишется идентификатор сесии и проверяется он при каждом запросе, так что ничего вообще тебе мудрить с ним не нужно, все будет работать автоматически.
Цитата:
Vaston509:
Если не сложно можно описать вариант с iframe, а то с refreshом не доконца получается
Просто вписываете в страницу <iframe src=fresh.htm></iframe>, остальные параметры по вкусу, хоть вообще невидимым его делаешь, ну и уже в нем (fresh.htm) вписываешь это обновление страницы через определенный промежуток времени, приблизительно как описал Ale выше..
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 28.04.2005, 10:21     # 32
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
Может быть он и работает правильно, тока у меня почему то происходит следующее:
Я создаю файл lock.php, где записан твой скрипт Hubbitus + вставил require ("sorry.html"); если страница занята и require ("indexb.html"); если доступ разрешен, затем при загрузке страницы "indexb.html" все работает, т.е. загружаешь с другого косма, говорят страница занята, но потом если на первом компе выйти и еще раз зайти, то автоматически доступ разрешается всем. Может я что-то в скрипте не понимаю, можешь объяснить:
$time[10]+$timeout
а точнее мне не понятно $time[10]

А вообще как я разобрался, если этот файл на серваке существует, то доступ почему то имеют все, поэтому я решил его убивать...
Vaston509 вне форума  
Старый 28.04.2005, 10:35     # 33
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Vaston509:
но потом если на первом компе выйти и еще раз зайти, то автоматически доступ разрешается всем.
Не должен всем разрешаться, может я конечно что-то не учел, но проверял и все работало. Что значит на первом компе "выйти и еще раз зайти"?
Цитата:
Vaston509:
можешь объяснить:
$time[10]+$timeout
Конечно я все могу объяснить что написал
Цитата:
Vaston509:
а точнее мне не понятно $time[10]
Прежде чем что-то объяснять (а вообще что за лень МАН глянуть!?), посмотри что у меня написано, а именно $time[10] у меня нету, есть $time[9]!!! Скорее всего по этому и не работает как надо!
Ну а теперь объяснение этого собчтвенно: в переменной $time, функцией stat получается массив параметров файла блокировки, к которому я и обращаюсь для получения времени его последнего изменения, собственно 9 элемент!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 28.04.2005, 10:56     # 34
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
да, так намного лучше.

Но теперь другая проблема, например, устанавливаю я timeout=180, что соответсвует 3 мин.
Если пользователь находится на странице дольше чем 3 мин, то его со страницы не выбрасывает, а другим пользователям доступ открывается.
Я пробовл использовать JavaScript, т.е. счетчик находждения на странице, равный также 3 мин, но так как у меня на странице есть другие кнопки, которые перезагружают эту же страницу то это не работает, т.е. каждый раз по нажатию на кнопку счетчик запускается заново, таким образом пользоваетль в принципе не имеет ограничения.

Может кто-нибудь помочь мне в этом.
Vaston509 вне форума  
Старый 28.04.2005, 12:05     # 35
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Vaston509:
да, так намного лучше.
Как "так"? Правильно скопировав пример???

Цитата:
Vaston509:
Но теперь другая проблема, например, устанавливаю я timeout=180, что соответсвует 3 мин.
Если пользователь находится на странице дольше чем 3 мин, то его со страницы не выбрасывает, а другим пользователям доступ открывается.
А об этом я уже говорил - когда пользователь загрузил страницу и пялится на нее 2 часа, ничего не делая, естественно нет возможности на сервере узнать что он делает, и не ушел ли вообще!!! Для этого и предложено было решение с обновлением iframe.

Короче, насколько я понял, это будет нескончаемо длиться, пока не напишет кто-то готового решения:

Файл lock.php:
PHP код:
<?
session_start();
$timeout = '10'; //Таймаут в секундах

$time = @stat('lock');

    if ( (is_file('lock') and file_get_contents('lock')==session_id()) or $time[9]+$timeout < date('U')){
    $ff = fopen('lock', 'w');    //В любом случае
    fwrite($ff, session_id());    //перезаписываем
    fclose($ff);        //для обновления даты
    echo 'Доступ разрешен, страница свободна';
    echo '<iframe src=fresh.php></iframe>';//Будем поддерживать соединение
    }
    else{
    echo 'Извините, страница уже используется';
    }
?>
Файл fresh.php:
PHP код:
<meta http-equiv=Refresh content="8; URL=fresh.php">
<?
exec('touch lock');
?>
Все проверено, все работает, ничего менять больше не нужно в логике. Естественно можно поменять таймауты и оформление фрейма (думаю его стоит скрыть вообще). Да, таймаут обновления фрейма лучше ставить 80-90% от того что в файле lock.php.

И последнее, в догонку: Если вдруг на сервере нету комманды touch, или вдруг вообще нельзя выполнять комманды, то вместо этого можно просто перезаписать файл тем же самым содержимым.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.

Последний раз редактировалось Hubbitus; 28.04.2005 в 12:07.
Hubbitus вне форума  
Старый 28.04.2005, 16:45     # 36
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
Все теперь все нормально...

Но теперь я еще хочу сделать так чтоб в статус баре (или же на странице) был таймер, например, 3 мин. Проблема в том, что на странице, как я уже писал раньше есть кнопки "управления" и по нажатию на одну из этих кнопок, вызывается скрипт php, обрабатывается и возвращается на эту же страницу. Дак вот, как сделать так чтоб время таймера не заново начинало идти а продолжало... Конечно если это вообще возможно, то подскажите плизз
Vaston509 вне форума  
Старый 28.04.2005, 19:57     # 37
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Vaston509:
Но теперь я еще хочу сделать так чтоб в статус баре (или же на странице) был таймер, например, 3 мин. Проблема в том, что на странице, как я уже писал раньше есть кнопки "управления" и по нажатию на одну из этих кнопок, вызывается скрипт php, обрабатывается и возвращается на эту же страницу. Дак вот, как сделать так чтоб время таймера не заново начинало идти а продолжало... Конечно если это вообще возможно, то подскажите плизз :Ezo!:
Не понял о каком таймере идет речь, но если просто на JS какой-то отсчет времени, то метки между загрузками страниц можно просто сохранять в куках пользователя. Ну или в сесии хранить, темболее что она итак уже используется косвенно.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 29.04.2005, 07:33     # 38
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
Таймар должен быть такой: По истечению этого времени пользователь должен быть отправлен на HomePage.

Как сохранять метки между загрузками страниц?
Vaston509 вне форума  
Старый 29.04.2005, 09:18     # 39
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Vaston509:
Как сохранять метки между загрузками страниц?
Ну вешаешь обработчик на onunload страницы, и по нему записываешь в куку значение таймера. Когда страница снова загрузилась - считываешь это значение из куки, и продолжаешь отсчет времени. Все элементарно.

Как вариант, можно все управление запихнуть в iframe (или просто фреймовую структуру сделать) и не перезагружать просто основную страницу, на которой будет тикать таймер.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 29.04.2005, 10:43     # 40
Vaston509
Junior Member
 
Аватар для Vaston509
 
Регистрация: 20.04.2005
Сообщения: 95

Vaston509 Путь к славе только начался
Хотелось бы использовать такой тиg счетчика, как его можно безболезнено изменить, чтоб записывались cookie, правильно ли я записал? И мне не понятно как читать куки, может подскажешь как и каду вставить?
Код HTML:
<body background='picture\fon.jpeg' onLoad="begintimer()" onunload="setcook()">
<script>
function setcook(){                  //ПРАВИЛЬНО ЛИ ЭТО
curCookie = pl;                        //ПРАВИЛЬНО ЛИ ЭТО
document.cookie = curCookie;    //ПРАВИЛЬНО ЛИ ЭТО
}
var limit="3:00"
if (document.images){
var pl=limit.split(":")
pl=pl[0]*60+pl[1]*1
}
function begintimer(){
if (!document.images)
return
if (pl==1)
document.location="webcam.html"
else{
pl-=1
cmin=Math.floor(pl/60)
csec=pl%60
if (cmin!=0)
ctime=cmin+" min. and "+csec+" sec remains for viewing this page"
else
ctime=csec+" sec remains for viewing this page"
window.status=ctime
setTimeout("begintimer()",1000)
}}
</script>
С фрейми я тоже думал, но вот Hubbitus смотри, что получается:

Есть страницы index.html, в ней расположен iframe, который ссылается на ту же frash.php, где мы и записали наш счетчик,
НО когда юзер кликает на кнопку то перегружается страница index.html и с ней соответсвенно и счетчик..
Может я конечно что-то не так делаю..


Hubbitus если тебе не сложно то модет набросаешь скриптик, у тебя это уж больно хорошо получается...Я пока плохо это умею и не все понимаю..

Последний раз редактировалось Vaston509; 29.04.2005 в 11:16.
Vaston509 вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 17:35.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.