Как добавить PHPSESSID в ссылку.

Brioni

Новичок
Как добавить PHPSESSID в ссылку.

Есть такая проблема.

Не работает авторизация у пользователей с отключенными куками. Пытаюсь автоматически прописать их в url.

Пробовал:

1. писать в .htaccess
php_value session.use_trans_sid 1

2. в коде
ini_set("session.use_trans_sid","1");

Не получается. Нет PHPSESSID в урле.

Пожалуйста, подскажите, что делаю не так.
Спасибо.
 

Verk

Guest
просто url или когда хедером пользуешься ?
 

Brioni

Новичок
Точно, про header я не подумал... а как с ним быть?

... но, правда, и в урле тоже PHPSESSID нет.
пробовал юзать пример с http://php.spb.ru/php/sess.html
 

StUV

Rotaredom
ты у себя в браузере куки не забыл отключить ?
(или в пхп.ини)
 

Brioni

Новичок
для тестирования сделал так:

ini_set("session.use_cookies","0");
ini_set("session.use_trans_sid","1");

куки включены, PHPSESSID нет, индент сессии не передается, из .htaccess все убрал
:(

весь код:

<?
ini_set("session.use_trans_sid","1");
ini_set("session.use_cookies","0");
//unset($s); // думаю, это писать не надо, но это явно не повредит
session_start(); // это равносильно HEADERS() и SETCOOKIES(), до вызова функции
// ничего на экран не выводить
session_register("s"); // объявляем, что $s является частью сессии

if (isset($c) && $c=='clear') {
// функция обнуления идентификации посетителя.
session_unset($s);

header("Location: sess.phtml");
echo "clear...";
exit;
}
echo "<a href=sess.phtml>обновить страницу</a><p>";
echo "<a href=sess.phtml?c=clear>обнулить идентификацию</a><p>";

if (!isset($s['count'])) {
// Посетитель пришел впервые. Объявляем переменную, которая
// должны быть всегда. Это счетчик загрузок страницы.
$s['count']=1;
}
else $s['count']++;
echo "Вы загружили эту страницу раз: $s[count]<p>";

// обработка формы, заполняемой посетителем
// если введено имя, заносим в сессию
if (strlen($name)>1) $s['name']=$name;

if (!isset($s['name']))
// если имя еще не введено, выводим форму для ввода
echo "Вы новый пользователь. Пожалуйста,
введите ваше имя:
<form action=sess.phtml>
<input type=text name=name>
<input type=submit>
</form>";
else
// иначе пишем имя из сесси
echo "Вы зарегистрированы под именем: $s[name]";
?>
 

Brioni

Новичок
FreeBSD 4-STABLE
PHP Version 4.3

спасибо, разобрался почти со всем...

не получается работать с ini_set() :(

получилось через htaccess:
php_value session.use_trans_sid 1

все работает, спасибо...
 

Altex

Новичок
Brioni
а кто тебе сказал что можно изменять session.use_trans_sid через ini_set()?
 

Brioni

Новичок
ini_set("session.use_trans_sid",0);
http://www.ronet.ru/sess.htm


http://phpclub.net/manrus/f/ini-set.html
 

Фанат

oncle terrible
Команда форума
Чуть что - сразу Роман :)
Это писалось больше года назад.
И, кажется, работало.
А, может, и нет.
А какое слово от меня ожидается?
 

Altex

Новичок
Ожидалось что-то типа:
"Мля, тупой, Альтекс - ты сам проверял прежде чем говорить!? - Это не познанная фича! Забаньте этого недоразвитого [сенсоред]!"

Просто в комментах к доке есть упоминание того, что это работало ... летом 2001-го года. Видимо с тех пор многое изминилось, к счастью, и уже в оф.доке написано что session.use_trans_sid -- PHP_INI_SYSTEM | PHP_INI_PERDIR.

ссылка - http://phpclub.net/manrus/f/ini-set.html - тоже видимо устарела

Вывод: Правильная документация на www.php.net/
 
Сверху