сессии и open.window

maxon

Новичок
сессии и open.window

Всем привет!!!
Проблема:
Авторизация происходит так:
PHP:
<?
if ($_POST[login]=='test' AND $_POST[passwd]=='test')
{
session_start();
$_SESSION["login"]=$_POST["login"];

/*защищенная часть*/
}
else
echo "Unauthorized!";
exit;
?>
Защищаю старницы так (делаю include в начало защищенной странички ):
PHP:
<?
session_start() or die("Can't start session");
if(!$_SESSION[login])
{
echo "Unauthorized";
exit;
}
?>
Функция View(link) - выводит результат скрипта view.php в новое окно.
{
myWin= window.open(link, "DisplayWindow");
}
link - ссылка на скрипт (с параметром)

Вызываю ф-ю так:
<a href=# onclick=\"View('view.php?tt=$row->tt_id','$row->tt_int_id')\"

Получаю в новом окне Unautohrized. Получается, что в дочернее окно не передается SID? Как быть.

register_globals off, linux, apache 1.3
спасибо.:) :)
 

maxon

Новичок
Да, куки отключил, в . Так и хочу, вот только по подробней объясни. Как это сделать, ведь здесь получается не просто URL.
 

MiRacLe

просто Чудо
link = (link.match('/\?/'))?link + '&PHPSESSID=<?=[m]session_id[/m]()?>':link+'?PHPSESSID=<?=[m]session_id[/m]()?>';

нечто вроде...
 

maxon

Новичок
Делаю так:
echo "<a href=# onclick=\"View('view.php?tt=$row->tt_int_id&PHPSESSID=session_id())>";
echo "View";
<a>;

Получается, что session_id() воспринимается просто как текст и выводится на экран ка есть. Может я неправильно сессию стартовал здесь?

Если я делаю include файла, то внутри этого файла нужно стартовать сессию или это лишнее?
 

crocodile2u

http://vbolshov.org.ru
http://phpfaq.ru

Там есть информация о сессиях. Рекомендую ознакомиться.

PHP:
echo "<a href=# onclick=\"View('view.php?tt=$row->tt_int_id&PHPSESSID=session_id())>";
А кто тебе сказал, что session_id() в этом выражении - не текст. Интерпретатор воспринимает именно то, что ты ему сказал, а не то. что ты имел в виду. Тебе нужна конкатенация строк.

И кстати, для передачи СИДа есть еще полезная константа SID.
 
Сверху