PDA

Просмотр полной версии : И снова о сессиях...


inlanger
15.09.2007, 12:45
Вот код:

if(mysql_num_rows($res) != 0)
{
session_start();
session_register("uid","pwd");
$session=session_id();
$show_content=true;
}
else
{
$show_content=false;
}

Вот далее строки:

if ($show_content==false)
{
мой код
}
else
{
мой код
}


Но страница тупо выводит то, что по false, хотя я залогинился.
Может есть другой способ проверить, стартовала ли сессия?

NOmeR1
15.09.2007, 12:47
session_start();
session_register("uid","pwd");
$session=session_id();

Должно быть в самом верху кода.

inlanger
15.09.2007, 12:50
так файл с
if(mysql_num_rows($res) != 0)
{
session_start();
session_register("uid","pwd");
$session=session_id();
$show_content=true;
}
else
{
$show_content=false;
}
инклудится в самом начале страницы...

inlanger
15.09.2007, 13:08
И весь прикол в том, что при выводе этой переменной($show_content), она выглядит как единица(это если я зашёл), но

if ($show_content == true)
{
код
}
elseif ($show_content == false)
{
код
}
Понимает как false

ant0ha
15.09.2007, 13:17
Единица это и есть true, проверяй просто
if ($show_content)
{
код
}
elseif (!$show_content)
{
код
}

inlanger
15.09.2007, 13:19
ну, я понимаю, что единица єто true,и почти на всей странице она true...но моя функция тупо не понимает эту перемную...

ant0ha
15.09.2007, 13:24
а что она выведет если так написать
if ($show_content == true)
{
echo $show_content;
}
elseif ($show_content == false)
{
echo $show_content;
}

1 или 0 ?

inlanger
15.09.2007, 13:26
Ничего не вывела. То есть $show_content внутри функции ничему не равно... в чём прикол?

ant0ha
15.09.2007, 13:30
так там функция еще? а ты ее туда через global передавал?

function name()
{
global $show_content;
......
}

inlanger
15.09.2007, 13:39
Пишет:
Parse error: parse error, unexpected T_GLOBAL in /home/www/*********.org.ua/index.php on line 19

ant0ha
15.09.2007, 13:56
а на код можно глянуть, так гадать сложно

inlanger
15.09.2007, 14:06
уже более-менее работает. оказывается надо было делать:

elseif ($GLOBALS["show_content"])

inlanger
15.09.2007, 14:16
А теперь вопрос... Как сделать чтобы при переходе по ссылкам сессия не слетала?

ant0ha
15.09.2007, 14:36
пропиши в самом начале каждой страницы
session_start();

NOmeR1
15.09.2007, 17:00
Сессия должна стартовать в САМОМ верху.