PDA

Просмотр полной версии : Сессии



Bolat
28.12.2004, 08:53
Проклятые сессии - ниче нормально не получается! Heeelp!



<form name="Forma" action="SomeFile.php" method="post">
<input type="submit" value="Send">
</form>


Что нужно сделать(с помощью сессий) чтобы определить сколько раз с какогото компа была нажата кнопка "Send"?

UUU
28.12.2004, 10:18
А о каких сессиях ты ведешь речь?
Учитываешь ли то, что по своей сути ШТТП-запрос - это 1 сессия - запрос-ответ. Все. и Сервер о клиенте забыл.
Надеюсь, что в своей задаче ты считаешь, что "сколько раз был послан запрос на выполнение скрипта".
Записывай данные компа в БД на сервере, устанавливай куки на клиенте. Таким образом и считай.

Bolat
28.12.2004, 11:20
Задача такая:
надо узнать заходил ли какойто поьзователь(распознается по IP адресу наверное ) на страницу SomeFile.php.

UUU
28.12.2004, 11:24
Ну и?
Посмотри переменные окружения $ENV в перле, например. Возьми IP, запиши в БД. Там ты воловишь еще и АйПи за прокси.

Bolat
28.12.2004, 13:21
Я не знаю точного механизма - как именно сделать(код). Не получается.
Я прошу конкретный пример кода.
Например как записать какуюто переменную в пользователю в куку. И как вообще оптимальнее идентифицировать заходящего.

UUU
28.12.2004, 13:28
Что не получается?
Пример того, что не получается в студию.


use CGI

для перла - там примеры есть по кукам.

Bolat
28.12.2004, 14:44
Что не получается?
Пример того, что не получается в студию.
Нифига не получается, не могу понять. Да и пишу я на PHP. А ты вроде по Перлу.


UUU,
Пелом не пользуюсь - PHP гораздо лучше. Поэтому я как большинство сразу взялся его изучать.

UUU
28.12.2004, 14:59
Так если "нифига" не получается, так почитай про "нифига".

Так опять не ясно, что не получается. Поэтому и подсказать никто не может. А готовый скрипт давать - скорее всего у всех - под свои нужды и со своей спецификой.

chur
28.12.2004, 17:40
В данном случае, вообщем, по барабану, на чем писать, на PHP или Perl'е. Два вопроса:
Читать/писать куки можешь?
Узнать IP-адрес можешь?

Zvepr
31.12.2004, 00:19
Офигеть! Зашел на форум !РАЗРАБОТЧИКОВ!, думал еще я глупый, опыту мало! а тут такое!Не буду задевать никого лишнего, просто скажу по поводу Bolat-а:
-ааа! помогите!!! Как мне узнать, заходил ли кто то или никто не заходил!
-ип, куки.
-ааа! а как их узнать и поставить?
-переменные окружения глянь, хедер отправь.
...проходит 20 мин...
-ааа! а че ваще такое IP...

Чувак, с таким диким стремлением уломать кого-нибудь помочь, написать (...вставить, запустить, проверить, исправить, обновить, заточить, удалить, восстановить и подписать снизу BOLAT), тебе не программистом быть надо, а в поисковиком спонсоров! Столько бы бабок срубил! Не обижайся, но ты позоришь весь род программистский! Первым делом сам все потыкай, попробуй, почитай чужие скрипты (благо инет есть). Потом в инете полазай! Да хоть в тот же яндекс! уж поверь, такие проблемы не у тебя одного возникали! Поползай по сайтам, посвященным програмированию, статьи почитай. В конце концов зайди на официальную документацию и почитай!Английский не трудный. да и тем более переводов полно! Надо просто искать хорошо!

Ну ты наверно потом мне скажешь, что типа "вот, я вот изучал пхп (ну или перл) сам, без книжек и прочего!!!ха-ха! а вот ты!"
Отвечу:
1)я и сам год на пхп програмировал, не зная его, просто лазая по исходникам, да по описаниям функций. Только потом книгу нарыл толковую и закрепил знания

2)А вообще лучше сразу читать толковые книги!))))

Zvepr
31.12.2004, 00:48
[quote]
UUU,
Пелом не пользуюсь - PHP гораздо лучше. Поэтому я как большинство сразу взялся его изучать.

:arrow: Да! PHP го-о-ораздо лучше, чем Perl!Почему? Ну... а... Ну так там вот той штуки нет... ну вот этой вот! <? :lol:

Знаешь, не перестаешь меня поражать! Я не думаю, что стоит говорить, что что-то лучше чего-то, не зная ни Перла (и как, выясняется, ни ПХП). Вот я ниче не знаю, по поводу Перла, кроме того что там закарючек больше, используется он отдельно от ХТМЛя, и там тоже есть комманда "эхо" :roll: , но вообщем, на всю его страшность, он ГОРАЗДО-ГОРАЗДО сильнее ПХП, хоть и неудобнее.

И вот, наиздевавшись над твоим познанием в мире Веб-технологий, сжалюсь - вот, что просил - ответ на твой вопрос!

что бы определить, кто зашел можно воспользоваться IP адрессом гостя:

$ip=getenv('REMOTE_ADDR');

так вот мы и получим его IP, и потом можно сравнивать, скока влезет и записывать в таблицу. НО! ИП адресс постоянный только у тех, кто через лан сидит в инете. На них сканает. Те же, кто сидят на диаллапе (думаю, ты таких слов не знаешь - это когда через телефон и модем в интернет заходят), так вот у них ИП адресс динамический, т.е. при каждом логине к провайдеру(подключении к интернету), этот юзер иммеет разный ИП (хотя вероятность того, что ИП совпадет есть небольшая :D - так что ты не пропал!) вот такие пирожки с котятами

можно и через куки, но есть такие хитрюги, которые куки отключают, так что если очень очень надо - сразу на главной странице напиши ВКЛЮЧИТЕ COOKIES, и какой-нибудь побуждающий к этому текст - убеждать ты умеешь! гыг!!! воть... а тот, кто не включит куки, будет каждый раз заходить как неизвестный.

в самом начале файла, когда еще клиенту не посылается ни буковки(кароче вообще в самом начале)
ставишь такую нехитрую надпись:

<?
setcookie ("was_here", 1,time()+(5*24*60*60));
echo 'hello!';
....
if(@$GLOBALS['_COOKIE']['was_here'])
echo 'че опять нада???';
else
echo 'ты хто? не видал тебя!';
?>
в кратце
клиент запрашивает страницу, ему приходит комманда setcookie, которая в браузере ставит куку с именем was_here и значение 1 на период 5 дней (третим параметром стоит время смерти куки, т.е. время "сейчас" в timestamp + 5дней*24часа*60мин*60сек). Т.е если, чувак зайдет к тебе, а потом 5 дней его не будет на твоем сайте, по крайней мере с того браузера, в котором он заходил к тебе, то он вновь распознается как чужак (и будет кастрирован!))).

когда будешь дебажить, не зубудь каждый новый раз убивать эту куку другим скриптом, но с того же хоста
(типа вот так)

setcookie ("was_here", 0);

AiK
31.12.2004, 02:59
Zvepr, флейми, плз, аккуратнее. :evil:

Bolat
31.12.2004, 07:36
Zvepr
Даже не знаю что ответить на такой наглый наезд. Вообщето всерьез тебя принимать не стоит так как по твоим высказыванеям судиш ты о людях слишком поверхностно, а значит и сам не рыба не мясо. Я вообще хотел бы знать откуда ты ? Встретился бы с тобой с большим удовольствием (вдруг мы из одного города!). Такая всиреча меня бы не напрягла так как была бы очень короткой.
И что самое интересное, если убрать весь хлам в котором ты описываеш мой "достоинства" то останется код который в принципе мне подходит.

Первым делом сам все потыкай, попробуй, почитай чужие скрипты (благо инет есть). Потом в инете полазай! Да хоть в тот же яндекс! уж поверь, такие проблемы не у тебя одного возникали! Поползай по сайтам, посвященным програмированию, статьи почитай. В конце концов зайди на официальную документацию и почитай!Английский не трудный. да и тем более переводов полно! Надо просто искать хорошо!
То же мне открыл америку. Все это и и без тебя знаю. В том то как раз и дело - эти поиски под конец года меня кокретно запарили и зная что меня ждут эти ненавистные мануалы и хэлпы я решил сразу спросить у людей. Тем более работы у меня и так пално - зарубился и переключится на PHP трудновато было (во сне уде вижу это клиентское программирование). Вообщем дело не в лени.

Zvepr
31.12.2004, 18:02
... хотел бы знать откуда ты ? Встретился бы с тобой с большим удовольствием (вдруг мы из одного города!). Такая всиреча меня бы не напрягла так как была бы очень короткой.


Да, к нашему общему сожалению, мы не в одном городе... :?... Я бы тоже с тобой пообщаться хотел бы, после таких заковырестых намеков, только встреча продлилась бы немного дольше, я думаю, т.к. занимаюсь я не только програмированием :).


... по твоим высказыванеям судиш ты о людях слишком поверхностно, а значит и сам не рыба не мясо...

:lol: -вот тепрерь и ты начал судить о людях поверхностно... Нет, не сужу я о людях поверхностоно... Извини, ведь инфы к каждому здесь не прилагатеся, так что приходиться судить по высказываниям человека, а какие они у тебя были??? "-ааа!! ниче не работает!!! помогите! напишите!!!" Ну а по поводу моего наезда, н-да... может где-то перестарался, но, вообщем, правду ведь сказал, так что ничуть не жалею, и не чувствую себя не правым... будь самостоятельнее в програмировании.

Bolat
05.01.2005, 06:17
Да, к нашему общему сожалению, мы не в одном городе... ... Я бы тоже с тобой пообщаться хотел бы, после таких заковырестых намеков, только встреча продлилась бы немного дольше, я думаю, т.к. занимаюсь я не только програмированием
Так в каком ты все таки городе живеш?
На словах кончено мы все всем занимаемся. К сожалению наверное мне тебя не достать так что я лично завязываю с намеками - этим здесь ничего недокажеш. Однако если что то я из Казахстана из Караганды, зовут Болатом, работаю в ВАЛЮТ ТРАНЗИТ БАНКЕ в главном офисе. Будете у нас милости просим.

вот тепрерь и ты начал судить о людях поверхностно... Нет, не сужу я о людях поверхностоно... Извини, ведь инфы к каждому здесь не прилагатеся, так что приходиться судить по высказываниям человека, а какие они у тебя были??? "-ааа!! ниче не работает!!! помогите! напишите!!!"
Напишие? Не помню такого. Насчет помогите это да, но форумы как раз для помощи. Была конечно какая то небрежность в моих словах, но все таки не на столько сильная чтобы заслужить твои наезды и время которое тебе пришлось на них затратить. У меня например на бессмысленную критику времени никогда нехватало.

Zvepr
05.01.2005, 15:04
Так в каком ты все таки городе живеш?
На словах кончено мы все всем занимаемся. К сожалению наверное мне тебя не достать так что я лично завязываю с намеками - этим здесь ничего недокажеш. Однако если что то я из Казахстана из Караганды, зовут Болатом, работаю в ВАЛЮТ ТРАНЗИТ БАНКЕ в главном офисе. Будете у нас милости просим.

Отвечать на цитирование цитированием - забавно, особенно, если это слова одного и того же человека. )
[quote]
Напишие? Не помню такого
[/qoute]
[quote]
Я прошу конкретный пример кода.
[/qoute]

А вообще, знаешь, Болат - мне тоже скрываться незачем. Живу я в Екатеринбурге. Звать меня Антоном. Занимаюсь я не на словах, а в секции. Кикбоксинг, если точнее, но, к сожалению непрофессионально.... Да и сейчас, временно отложил это занятие. Пару недель не хожу - сессия... Но вернусь! Честное пионерское! )))
Канечно БАНК, да еще и главный офис - это круто... Особенно если ты там в службе безопастности, то тогда придется мне свои слова взять обратно))) Все таки банки охранять дистрофиков точно не ставят!

Не знаю, с Казахстаном меня ничто не связывает, так что пообещать, что загляну к вам в банк, не могу!...

По поводу наезда - я уже высказался, и признал, что кой-где я был неправ, по крайней мере, в выборе интонации! :D...

Ну и в заключении, скажу, что все таки неплохо мы покасарезили друг на друга! А все хорошие рулиловки заканчиваются, либо хорошей дракой, либо пивом! В нашем случае подраться у нас не выдет! так что предлагаю мировую! МИРУ-МИР! И в руки флаг!

Bolat
06.01.2005, 06:12
Zvepr

Я прошу конкретный пример кода.
Вот именно что ПРИМЕР кода, на котором можно объяснить суть. Такие примеры здесь сплош и рядом раздают - в этом ничего плохого нет. А написать за меня всю прогу например я не просил. Обычно мне нужен простенький примерчик, чисто чтобы я понял суть, чтобы я потом в более сложном сам разобрался.

А вообще, знаешь, Болат - мне тоже скрываться незачем. Живу я в Екатеринбурге. Звать меня Антоном
Кто говорил что комуто надо скрыватся?

Занимаюсь я не на словах, а в секции. Кикбоксинг, если точнее, но, к сожалению непрофессионально.... Да и сейчас, временно отложил это занятие. Пару недель не хожу - сессия... Но вернусь! Честное пионерское! )))
Я рукопашник и конечно тоже не проффесионал. Однако вот так рассказывать все это как то не красиво по моему, похоже на выпендреш.

Канечно БАНК, да еще и главный офис - это круто... Особенно если ты там в службе безопастности, то тогда придется мне свои слова взять обратно))) Все таки банки охранять дистрофиков точно не ставят!
Это наезд или я стал мнителен? Не охранником я работаю а инженером программистом по инет технологиям. А про ГЛАВНЫЙ ОФИС я сказал чисто ради конкретности координат, так как у нас тама ещё и филиалы есть...

Ну и в заключении, скажу, что все таки неплохо мы покасарезили друг на друга! А все хорошие рулиловки заканчиваются, либо хорошей дракой, либо пивом! В нашем случае подраться у нас не выдет! так что предлагаю мировую! МИРУ-МИР! И в руки флаг!
Мог бы длинно ответить про то что я тебя вовсе не собирался косорезить и все такое, но раз моно короче закончить эти бессмысленные перепёрки то МИР. Правда я и не воевал.

Zvepr
06.01.2005, 20:34
Bolat,
Ну вообщем, я рад, что Мир восторжествовал! Но, после твоего сообщения в JS форуме, у меня еще оставалось желание поругаться с тобой.)))) Про то что там кричать некрасиво - так ты ж это сам спросил! (Кстати, ты то чем иммено занят??)
А про банк, я и не думал наезжать...

Bolat
07.01.2005, 07:22
Zvepr
Короче мне тоже надоела вся это фигня.
Чем занят всмысле?
По работе занят внедрением Interne Banking(внедрение мало имеет отношение к программированию, но пожирает осноную часть времени). А походу надо сопровождать банковские сайты - щас конкретно пишу разные клиентские калькуляторы, голосования, построители графиков, инерактивные элементы типа движущихся новостей.

А если про спорт то секция рукопашного боя: готовлюсь по мере возможности к весеннему чемпионату республики.

Опять получилось немного выпендрючно.

Ещй хотел извинится перед всеми за тему - признаю создал её небрежно.

Hup
23.01.2005, 09:23
Ну вы ребята еще и подеритесь. У каждого своя правда :)

Zvepr, что касается тупых споров типа Perl - отстой, PHP - круто , то я с твоим мнением согласен.
Тут дело вкуса. Например мне не нравится ни первый ни второй языки Если спросишь почему, то я тебе с легкостью отвечу, но мои ответы будут в первую очередь учитывать мои же интересы.

В нагрузку могу тоже привести примерчик работы с сессиями(и еще с кое чем), если конечно нужно

Bolat
01.02.2005, 06:17
Hup

Zvepr, что касается тупых споров типа Perl - отстой, PHP - круто , то я с твоим мнением согласен.
Тут дело вкуса.
Дело Вкуса ты образно сказал чтоли. А то дело не во вкусе а в эффективности.


В нагрузку могу тоже привести примерчик работы с сессиями(и еще с кое чем), если конечно нужно
Давай давай! Примерчику с объяснением будем рады.

UUU
01.02.2005, 10:37
Даже не умея пользоваться поиском - а чисто случайно нашел о сессиях:

http://www.developing.ru/forum/viewtopic.php?t=2454

Bolat
28.02.2005, 09:12
Приветы.

Я коечто недопонял с этим несчастным идентификатором сессии.
Как его правельно использовать?

Я создал таблицу user с полями id, name, password и т.д.
Ещё создал таблицу auth с полями user_id(должно соответствовать с id в user), ses_id(сюда кидаю $session_id) и deathTime(время существования ses_id )

Кода клиент вводит имя и пароль то они проверяются в таблице user, если сходится то в таблице auth в создаётся запись с id(user_id) вошедшего пользователя и с иден-ом сессии (ses_id)

Потом кода клиент дальше ходит по страницам то всегда проверяется есть ли в таблице auth такой иден-ор сессии. Если есть, то по user_id мы идём в таблицу user и смотрим там права юзера и всё такое...

$session_id хранится у клиента в куках?

Я вообще правельно мыслю? Или есть какойто лучший способ, связанный с сессиями?

UUU
28.02.2005, 09:54
>$session_id хранится у клиента в куках?
Необязательно, он может передаваться от страницы к странице