|
|
|
| Задача простая, но где то косячит...
Итак надо просто запихнуть из $_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. Заранее спасибо. | |
|
|
|
|
|
|
|
для: diez
(14.01.2010 в 21:26)
| | зачем вы открываете сессию внутри функции? Объявите ее один раз в начале каждого скрипта. Вы же сначала спрашиваете есть ли нужная переменая сессии, а потом только объявляете старт сессии | |
|
|
|