Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблеммы с использованием сессий. 
:(
    Опции темы
diez
Дата 14.1.2010, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.8.2007

Репутация: -1
Всего: -1



Задача простая, но где то косячит...
Итак надо просто запихнуть из $_REQUEST['id'] в переменную сессии $id, ну и собственно использовать $id потом в других разделах. 
Если $_REQUEST['id'] нет то по умолчанию $_SESSION['id']=1.
При этом $_REQUEST['id'] только на главной странице, на остальный передавать $_REQUESТ'ом не надо (сессии короче),а 
использовать только куки черевато.... Итак вот что я наделал:

Код

<?php 
        
    function create_id()
    {
        if (    empty ($_REQUEST['id'])    )
                    {
                        if(  !empty($_SESSION['id']) )/* с другой страницы */
                            {
                                @session_start();
                                global $id;
                                $id = $_SESSION['id'];
                                $_SESSION['id'] = $id;
                                }
                            else                         /* in type */
                                    {
                                    @session_start();
                                    unset($id);
                                    $_SESSION['id'] = 1;
                                    global $id;
                                    $id = $_SESSION['id'];
                                    }
                        
                        }
            else{                                        /*   с внешней сслыки  */
                    @session_start();
                    $_SESSION['id'] = $_REQUEST['id'];
                    global $id;
                    $id = $_SESSION['id'];
                }
                    return $id;
        }
    echo create_id();
        
    ?>

Вот так. Добавил собственно эту функцию на каждую страцицу где нужно использовать $id - не работает,
 т.е. на странице куда передается $_REQUEST['id'] все нормально, но при переходе на другую страницу, или даже на другую ссылку
главной страницы успешно сосзданная пеменная сессии 'id' теряется.
P.S. Заранее спасибо.
PM MAIL   Вверх
Simpliest
Дата 14.1.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Для начала пристрели всех собак.

Затем включи экран.

И установи уровень ошибок - все.


--------------------
user posted image
PM   Вверх
Ипатьев
Дата 14.1.2010, 22:03 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(diez @  14.1.2010,  21:34 Найти цитируемый пост)
@session_start();

да, очень трогательно
"если подавить сообщение об ошибке, то сама ошибка исчезнет" - думает наш незадачливый покоритель высот веб-программинга smile
PM MAIL   Вверх
patap
Дата 14.1.2010, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



если я правильно понял все что написано выше, то тебе нужно

на главноной странице, куда предается $_REQUEST['id'] написать
Код
session_start();
$_SESSION['id'] = (isset($_REQUEST['id'])) ? $_REQUEST['id'] : 1;


на всех остальных страницах вставить код и далее в коде, на этих страницах, обращаться к переменной $_SESSION['id']
Код
session_start();
if (empty($_SESSION['id'])) $_SESSION['id'] = 1;



да и @session_start() - не очень хороший выход

Это сообщение отредактировал(а) patap - 14.1.2010, 22:20


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
diez
Дата 14.1.2010, 23:38 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.8.2007

Репутация: -1
Всего: -1



!patap - спасибо большое!!!
Про собак согласен, но это черновик-черновика ))) и для автономной проверки не имеет значения . Еще раз спасибо за оперативную и действительно помощь. 
Остальным выше написавшим "опытным" предлагаю написать раз что то типа "Ручками исправить..., фключи мазги и тп" и флудть по статусу - в разделе для профессионалов (СЛАБО???)! 
PM MAIL   Вверх
Simpliest
Дата 15.1.2010, 00:01 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(diez @  14.1.2010,  22:38 Найти цитируемый пост)
для автономной проверки не имеет значения 

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

Но сам ты должен видеть все ошибки!


--------------------
user posted image
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.