Проблемы с session_start()

Тема в разделе "PHP", создана пользователем yeaahhh, 30 сен 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Друзья. Поставил скрипт биржи труда. Привязываю к нему сессии. Но, после открытия сессии, становятся недоступны некоторые линки на сайте(в частности все вакансии). Из 40 категорий, переходит всегда по одной и той же(независимо от того, на какую ты нажал).
    Недоступность проявляется в переадресации на несущ. страницу(page unavaible)..

    Когда убиваю сессию - всё работает исправно.
    Ребят, в чём может быть проблема? Я понимаю, что сложно сказать, не видя скрипта.. Но всё же.. Может быть есть какая-то связка между session и url?

    Вот .htaccess скрипта
    PHP:
    # AddType x-mapp-php5 .php
    # AddHandler x-mapp-php5 .php

    RewriteEngine on
    Options 
    +FollowSymlinks

    RewriteCond 
    %{REQUEST_FILENAME} !-f
    RewriteCond 
    %{REQUEST_FILENAME} !-d
    RewriteRule 
    index.php [L]

    ErrorDocument 404 /page-unavailable/

    <
    files "\.tpl$">
    order deny,allow
    allow from none
    deny from all
    </files>
    Умоляю, помогите.. уже второй день ломаю себе голову..
    Заранее большое спасибо..
     
  2. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    внимательно посмотри на переменные, которые участвуют в организации ссылок и редиректов в скрипте. есть вероятность что ты их используешь в сессиях, что в начала сессии их затирает новыми (и скорее всего пустыми) значениями
     
  3. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
    Попробуй var_dump($_SESSION) и посмотри что там такое. Может быть там присутствует значение с ключом, совпадающим с именем переменной в скрипте, который при regisrer_globals=on или extract($_SESSION ) превряшается в в саму переменную.
    Посмотри на невалидные линки, может там где-то банальный / или ? & опущены например по причине кривой добавки параметра ID сессии. А лучше всего найти место в скрипте, где генерятся ссылки и тогда проблема решится быстро.
    Без знаний или жклания разбираться ищется методом половинного деления: т.е. в середине скрипта ставишь die(); (eсли в начале было ob_start() то перед die() добавляется ob_flush() (а лучше несколько раз, а то мало ли какая там вложенностьм буферов :) ) и смотрится, вывелись линки или нет. Если да - то 1-ю половину опять делишь по полам и туда ставишь прерывание, если нет - делишь 2-ю. половину пополам и прерываешь... так до тех пор пока не придешь к этим самым линкам. а там посмотри из чего они составляются, или к нам на опреационный стол :))
     
Статус темы:
Закрыта.