#1 2008.08.27 15:05

denich
Участник
Откуда: нижегородская область
Зарегистрирован: 2008.05.28
Сообщений: 301
Карма: 0
Профиль

Сессии

Что надо для этого?

Код:

1
lt;?//в шапке прописал:session_start();//к ссылкам SID приписываюecho '-&nbsp;<a href="http://pkclub.ru">на главную</a><br />-&nbsp;<a href="sey.php?'.SID.'">написать</a><br />-&nbsp;<a href="index.php?'.SID.'">обновить</a><br />';?>

и не робаит) что ещё непрописал? эт я скрипт пишу один...


ska ska ska

Неактивен

#2 2008.08.27 17:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Сессии

ничего не прописывай к ссылкам. напиши в .htaccess

Код:

1
php_flag session.use_trans_sid On

идентификатор сессии автоматически будет пытаться записаться в COOKIES, а если не выйдет, подставится к ссылкам и формам.

Неактивен

#3 2008.08.27 21:44

denich
Участник
Откуда: нижегородская область
Зарегистрирован: 2008.05.28
Сообщений: 301
Карма: 0
Профиль

Re: Сессии

оК, сейчас попробую)


ska ska ska

Неактивен

#4 2008.08.27 22:08

denich
Участник
Откуда: нижегородская область
Зарегистрирован: 2008.05.28
Сообщений: 301
Карма: 0
Профиль

Re: Сессии

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

Код:

1
lt;?if(!isset($_SESSION['pk_name']) $_SESSION['pk_name'] = $_POST['nick'];//или вот так вот будет лучше:if(!isset($_SESSION['pk_name']) or $_SESSION['pk_name'] != $_POST['nick']) $_SESSION['pk_name'] = $_POST['nick'];

надо что бы в $_SESSION['pk_name'] хранился к примеру ник пользователя и ещё как зделать что бы этот ник хранился определённое время, эт наверн уже через COOKEеS будет?


ska ska ska

Неактивен

#5 2008.08.27 22:40

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Сессии

Код:

1
span style="color: #0000BB"><?phpif($_POST['name']){$_SESSION['name'] = $_POST['name'];}?>

вообще следует перед тем как вносить значение переменной в сессию, ее отфильтровать, чтобы потом доставать ее из сессии не фильтруя лишний раз, т.к. доступа к данным в сессии у пользователей нет.
приведу наиболее полезные, на мой взгляд, возможные директивы для управления сессиями в .htaccess

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# автоматический старт сессии
php_flag session.auto_start On
# вероятность чистки файлов сессий в процентах
php_value session.gc_probability 1
# время жизни файла с данными сессии
php_value session.gc_maxlifetime 604800
# время жизни куки с ID сессии
php_value session.cookie_lifetime 604800
# имя ID сессии
php_value session.name "sid"
# ID сессии может записываться в Cookies
php_value session.use_cookies 1
# ID сессии может записываться ТОЛЬКО в Cookies
php_value session.use_only_cookies 0

Неактивен

#6 2008.08.27 23:23

denich
Участник
Откуда: нижегородская область
Зарегистрирован: 2008.05.28
Сообщений: 301
Карма: 0
Профиль

Re: Сессии

да, я её отфильтровал) а, за директивы спасибо))


ska ska ska

Неактивен

#7 2008.09.03 12:49

denich
Участник
Откуда: нижегородская область
Зарегистрирован: 2008.05.28
Сообщений: 301
Карма: 0
Профиль

Re: Сессии

блиин.. чёт я уже себе весЪ мозг выипал...

короче когда сообщение у меня обрабатывается я попутно вставил твой код что бы $_SESSION['name'] присваиваивался ник пользователя $_POST['name']

Код:

1
lt;?<?phpif($_POST['nick']){$_SESSION['nick'] = $_POST['nick'];}?>

а в файле, где юзер должен прописать свой ник
вставил примерно следующее..

Код:

1
lt;?...echo '<input type="text" name="nick" maxlength="15" size="13" '; if($_SESSION['nick']){ echo 'value="'.$_SESSION['nick'].'"'; }echo ' />';...?>

но, не, робит, нифФига.... sad


ska ska ska

Неактивен

#8 2008.09.03 18:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Сессии

в первом коде два раза запускаешь php

<?
<?php

чтобы использовать сессии, нужно их запускать вначале. в коде прописано session_start(); (на всех страницах, где используется сессия)?

$_SESSION['nick'] = $_POST['nick'];

$_POST желательно отфильтровать через htmlspecialchars хотябы.

Неактивен

#9 2008.09.03 21:38

denich
Участник
Откуда: нижегородская область
Зарегистрирован: 2008.05.28
Сообщений: 301
Карма: 0
Профиль

Re: Сессии

ну, эт я тут ошибся чёт.. а так всё отфильтровал, и вначале каждого файла сессию стартанул) сессия так то работает, но вот что то поле с именем незаполняется...


ska ska ska

Неактивен

#10 2008.09.03 22:42

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Сессии

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

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s