Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SID
 
 автор: Atom   (13.10.2005 в 14:43)   письмо автору
 
 

Здравствуйте, не работает почему-то передача сессий между доменами.

Есть site.ru, на нем ссылка на it.site.ru/form.php?PHPSESSID=session
Но файл from.php почему-то не получает эту сессию и пишет, что сессия не установлена. В чем проблема?


session_start();
define ('IN_PHPATM', true);
require_once "php/config.php";
require_once "include/functions.php";
require_once "include/conf.php";
echo "done1";
if(isset($_SESSION['client_id']))
{
   $res = mysql_fetch_array(mysql_query("SELECT login, pass FROM r_clients WHERE client_id=".intval($_SESSION['client_id'])));
   echo mysql_error();
   echo "done 2";
   if(count($res['pass']) < 1) exit("<p><b>такого клиента нет</p>");
   echo "done 3";
   if(my_check_password($res['login'], $res['pass']))
   {
      echo "done 4";
      $logged_user_name = $res['login'];
      srand((double)microtime()*1000000);
      $logged_user_id = md5(rand().microtime());
      $enc_logged_user_id = md5($logged_user_id);
      $_SESSION['logged_user_name'] = $logged_user_name;
      $_SESSION['logged_user_id'] = $logged_user_id;
      save_user_profile($logged_user_name);
      header("Location: index.php");
   }
} else exit("сессия не установлена");

   
 
 автор: cernos   (13.10.2005 в 16:15)   письмо автору
 
   для: Atom   (13.10.2005 в 14:43)
 

Ведь получить тут ид сессии можно $_GET['PHPSESSID'];
Необязательно передавать ?PHPSESSID=session это на сессию никак не влияет...

Может у вас есть вывод чего либо в броузер до session_start()l?

Попробуйте сделать print_r($_SESSION); - посмотрите вообще что нибудь передаётся.

Возможно проблема в том что разные домменные имена,?

В коде всё правльно вроде...

   
 
 автор: Atom   (13.10.2005 в 16:55)   письмо автору
 
   для: cernos   (13.10.2005 в 16:15)
 

Да нет, в том-то и дело, что все вроде в коде правильно. Только он пишет done 1 и сессия не установлена. Тоись переменной $_SESSION['client_id'] нет. Я тоже валю на доменные имена, но как это исправить? Или может надо как-то вручную указать сессии, какую именно открывать?

   
 
 автор: cheops   (13.10.2005 в 22:47)   письмо автору
 
   для: Atom   (13.10.2005 в 14:43)
 

Так а переменная $_SESSION['client_id'] установлена и что даёт распечатка дампа массива
<?php
  print_r
($_SESSION);
?>

   
 
 автор: Atom   (14.10.2005 в 00:59)   письмо автору
 
   для: cheops   (13.10.2005 в 22:47)
 

Проблема уже решена =) Там непонятно что было. Толи описка, толи еще что. Но сейчас работает.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования