SOS! Уже затра№;%ля с сессиями помогите!

1 234
nickspring
На сайте с 29.03.2006
Offline
228
#21
vasa_c:
А идентификатор всегда передается в урле или только на первой странице после старта сеанса?
Просто, это кажется обычное поведение стандартного механизма, т.к. с первого раза PHP не знает включены ли куки у клиента и отправляет sid и в куках и в урле.

сколько программирую, ни на одном проекте такого "стандартного поведения" не замечал...

iexpert
На сайте с 01.09.2005
Offline
184
#22

А подайте сюда тяпкина ляпкина :-)

Только желательно не 1 файл а пакет в сборе.

Чтоб я его поставить мог на тот же мастерхост и там погонять.

Бойтесь ваших желаний, ибо они могут исполниться
nickspring
На сайте с 29.03.2006
Offline
228
#23
Mr_Promoter:
Выбрал из движка ключевые файлы, убрал пароли и т.д. кому интересно скиньте в личку емэйлы пришлю архивчик.

изучаю вопрос. скоро отвечу... надеюсь :)

Mr_Promoter
На сайте с 06.08.2004
Offline
254
#24

Ну в принципе со СКОРПИОНом нашли путь решения, действительно было децл корявый код и проблемы были в нестыковках версиях php. Поправили сессии ушли в куки. Сейчас проверяю не отразилось ли это на работоспособность сайта.

Бооооооооольшое спасибо Михаилу!

http://webpromote.ru (http://webpromote.ru) - пописываю иногда ...
Mr_Promoter
На сайте с 06.08.2004
Offline
254
#25

В общем решил эту проблему так. Сначала как посоветовал Михаил отключил функцию автоматичесого добавления сессий с строкам. Вот такую байду нашли на сайте

function add_sess_id($in){

global $PHPSESSID;

#echo $PHPSESSID;

while (strpos($in,"<a",$start)>0){

$a1 = strpos($in,"<a",$start);

$a2 = strpos($in,">",$a1);

$left= substr($in,0,$a1);

$right = substr($in,$a2,strlen($in)-$a2);

$string = substr($in,$a1,$a2-$a1);

if (strpos($string,".php?")>0){

$string = str_replace(".php?",".php?PHPSESSID=$PHPSESSID&",$string);

}else{

$string = str_replace(".php",".php?PHPSESSID=$PHPSESSID",$string);

}

$in = $left.$string.$right;

$start = $a2;

}

$start = 0;

while (strpos($in,"<form",$start)>0){

$a1 = strpos($in,"<form",$start);

$a2 = strpos($in,">",$a1);

if ($a2!=0){

$left= substr($in,0,$a2+1);

$right = substr($in,$a2+2,strlen($in)-$a2-2);

$string = "<input type='hidden' name='PHPSESSID' value='$PHPSESSID'>";

$in = $left.$string.$right;

}

$start = $a2;

}

return $in;

}

на радостях что сессии исчезли и поюзав сайт все работает занялся переделкой на псевдостатику. Потом посмотрел что в корзину товары не кладутся. Вернул все на место и понял, что эта функция прикапывается только к *.php а мою псевдостатику *.html не трогает. Ну оно мне и надо! :) Хай свои сессии к корзине вяжет, мне это фиолетово, а все остальное по человечески - для людей и роботов :)

Короче всем спасибо!

ref
На сайте с 21.11.2004
Offline
91
ref
#26

Mr_Promoter,

А у вас эта function add_sess_id($in) в скрипте была??

Так скрипт сам дописывал sid ??

с уважением, Леонид
Mr_Promoter
На сайте с 06.08.2004
Offline
254
#27
ref:
Так скрипт сам дописывал sid ??

Да. Сам скрипт отлавливал все окончания php и дописывал сессии. Вот так тоже оказыватся бывает!

ref
На сайте с 21.11.2004
Offline
91
ref
#28
Mr_Promoter:
Да. Сам скрипт отлавливал все окончания php и дописывал сессии. Вот так тоже оказыватся бывает!

Да... хорошая коза! Против лома нет приема!! ☝

dkameleon
На сайте с 09.12.2005
Offline
386
#29
Mr_Promoter:
Да. Сам скрипт отлавливал все окончания php и дописывал сессии. Вот так тоже оказыватся бывает!

Что и предполагалось в сообщении номер три :)

/ru/forum/comment/1172926

Дизайн интерьера (http://balabukha.com/)
Russian
На сайте с 10.12.2005
Offline
69
#30
nickspring:
сколько программирую, ни на одном проекте такого "стандартного поведения" не замечал...

У меня есть такой

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий