Clicky

Skocz do zawartości


Zdjęcie
- - - - -

Problem z przekazaniem zmiennej z sesji

11 odpowiedzi w tym temacie

  • Zaloguj się, aby dodać odpowiedź

#1 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 04 marzec 2013 - 18:04

Aplikację opieram na Kohana 3.2
W głównej klasie w sesji zapisuję sobie pewną wartość:

$_SESSION['user_id'] = $user_id;


następnie po kliknięciu w button za pomocą JQuery pobieram inną klasę w której próbuję pobrać wartość z sesji - niestety nic mi się nie wyświetla. Dodanie w drugiej klasie session_start() nie pomaga.
Pomyślałem, że sprawę może załatwi dziedziczenie po pierwszej klasie ale wyrzuca: Internal Server Error

Z pewnością problem by rozwiązało przekazanie wartości sesji w polu typu hidden ale zależy mi aby uniknąć tego sposobu.
Jakieś pomysły?
Kohana 3.3

#2 kevin

kevin

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 207 postów

Napisano 04 marzec 2013 - 18:41

W Kohanie jest już moduł odpowiedzialny za zarządzanie sesją;
$this->session = Session::instance();

$user_id = 2;
$this->session->set('user_id', $user_id);
$this->session->get('user_id');
$this->session->get_once('user_id'); // dobre dla "flash messages" ;-)


#3 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 04 marzec 2013 - 19:06

klasa która jest wywołana w tle nie dziedziczy po niczym. Dziedziczenie lub utworzenie intstancji powoduje wywalenie błędu Internal Server Error
Kohana 3.3

#4 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 04 marzec 2013 - 21:46

EDIT:
Doczytałem, że prawdopodobnie ajax nie wysyła wartości cookie z id sesji - jak to id wysłać?
Kohana 3.3

#5 phpion

phpion

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 774 postów
  • Skąd:Sosnowiec, Dąbrowa Górnicza

Napisano 05 marzec 2013 - 09:37

Nigdy nie miałem problemu z sesją po stronie AJAXa. Podaj proszę swój cały kod, głównie chodzi o ten po stronie AJAXa.
Notifero - Technologie Informatyczne | Warsztat: Kohana 3.x/2.x + PostgreSQL/MySQL | Programista Kohana

#6 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 05 marzec 2013 - 12:38

odpalam skrypt do upload'u plików graficznych:
http://blueimp.githu...ry-File-Upload/
klasa która się wczytuje w tle znajduję się w server/php/UploadHandler.php

początek konstruktora na moje potrzeby w tej klasie zmodyfikowałem tak:

function __construct($options = null, $initialize = true) {
        session_start();
        $this->options = array(
            'script_url' => $this->get_full_url() . '/',
            'upload_dir' => '/var/www/www.pl/web/sc/public/static/profil_photo/' . $_SESSION['user_id'] . '/',
            'upload_url' => '/public/static/profil_photo/' . $_SESSION['user_id'] . '/',



[javascript]
$(function () {
    'use strict';

    // Initialize the jQuery File Upload widget:
    $('#fileupload').fileupload({
        // Uncomment the following to send cross-domain cookies:
        //xhrFields: {withCredentials: true},
        url: '/system/upload/php/'
    });

    // Enable iframe cross-domain access via redirect option:
    $('#fileupload').fileupload(
        'option',
        'redirect',
        window.location.href.replace(
            /\/[^\/]*$/,
            '/cors/result.html?%s'
            )
        );

   
    // Load existing files:
    $.ajax({
        // Uncomment the following to send cross-domain cookies:
        //xhrFields: {withCredentials: true},
        url: $('#fileupload').fileupload('option', 'url'),
        dataType: 'json',
        context: $('#fileupload')[0]
    }).done(function (result) {
        $(this).fileupload('option', 'done')
        .call(this, null, {
            result: result
        });
    });
}

);

[/javascript]
Kohana 3.3

#7 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 05 marzec 2013 - 12:55

tablica z cookies w pliku php wczytanym asynchronicznie też jest pusta
Kohana 3.3

#8 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 05 marzec 2013 - 22:17

przesyłam też nagłówek jaki wyrzuca firebug podczas operacji w tle:

Nagłówki odpowiedzi
Date    Tue, 05 Mar 2013 21:05:45 GMT
Server    Apache/2.2.16 (Debian)
X-Powered-By    PHP/5.3.20-1~dotdeb.0
Expires    Thu, 19 Nov 1981 08:52:00 GMT
Pragma    no-cache
Cache-Control    no-store, no-cache, must-revalidate
Content-Disposition    inline; filename="files.json"
X-Content-Type-Options    nosniff
Access-Control-Allow-Orig...    *
Access-Control-Allow-Cred...    false
Access-Control-Allow-Meth...    OPTIONS, HEAD, GET, POST, PUT, PATCH, DELETE
Access-Control-Allow-Head...    Content-Type, Content-Range, Content-Disposition
Vary    Accept,Host
Keep-Alive    timeout=15, max=100
Connection    Keep-Alive
Transfer-Encoding    chunked
Content-Type    application/json

Nagłówki zapytania
Host    mojadomena.pl
User-Agent    Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept    application/json, text/javascript, */*; q=0.01
Accept-Language    pl,en-us;q=0.7,en;q=0.3
Accept-Encoding    gzip, deflate
Connection    keep-alive
X-Requested-With    XMLHttpRequest
Referer    http://mojadomena.pl/index.php/profilsettings/add_photo
Content-Length    108179
Content-Type    multipart/form-data; boundary=---------------------------41184676334
Cookie    session=5ap35e9a7ruot715ekg8k56hc5; PHPSESSID=rh54v57hdcju4gf7q2bj943320

Kohana 3.3

#9 phpion

phpion

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 774 postów
  • Skąd:Sosnowiec, Dąbrowa Górnicza

Napisano 06 marzec 2013 - 15:06

Problemy z sesją były w przypadku uploadu plików za pomocą Flasha. Poszukaj wątków związanych z Uploadify - może to Cię na coś naprowadzi.
Notifero - Technologie Informatyczne | Warsztat: Kohana 3.x/2.x + PostgreSQL/MySQL | Programista Kohana

#10 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 07 marzec 2013 - 13:14

nadal nie wiem co z tą sesją. Chyba rozwiąże problem z wykorzystaniem mysql. Dziwne że zapisanie czegość w cookie nie jest odczytywane a $_COOKIE['PHPSESSID'] jest odczytywane
Kohana 3.3

#11 Daredzik

Daredzik

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 308 postów
  • Skąd:Pszczyna

Napisano 07 marzec 2013 - 15:25

http://api.jquery.com/jQuery.ajax/

$.ajax({
   url: a_cross_domain_url,
   xhrFields: {
      withCredentials: true
   }
});


#12 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 07 marzec 2013 - 16:20

ja mam tak:
$.ajax({
        // following to send cross-domain cookies:
        xhrFields: {withCredentials: true},
        url: $('#fileupload').fileupload('option', 'url'),
        dataType: 'json',
        context: $('#fileupload')[0]
    }).done(function (result) {
        $(this).fileupload('option', 'done')
        .call(this, null, {
            result: result
        });
    });
gdzie $('#fileupload').fileupload('option', 'url') wskazuje na folder w którym zanajduje się index.php który jest łądowane w tle i tworzy instancję klasy znajdującej się w tym samym folderze
Kohana 3.3




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych