Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mintAJAX] Odbieranie sesjii z php
Forum PHP.pl > Forum > XML, AJAX
!*!
plik index.php zawiera w sobie sesje z id urzytkownika itp.

  1. <?php
  2. $userid = $_SESSION['id'];
  3. ?>


zawiera też js:

  1. function SendRequest() {
  2.    var req = mint.Request();
  3.    req.Send("cos.php", "response");
  4. }


includuje w nim plik costam.php:

  1. <button onclick="SendRequest()">ostatnio</button>
  2. <div id="response"></div>


w którym powinna wyświetlić się dana wartośc...


w pliku cośtam.php, znajduje się odczyt z bazy, jednak w zapytaniu jest pobierana zmienna $userid kóra zawiera id usera... myk polega na tym że gdy wpiszę $userid = '1231'; całość zaskakuje i mA działa bez problemu, ale jak zrobić aby sesja była przesyłana:

  1. <?php
  2. $userid = $_SESSION['id'];
  3. ?>
do pliku który działa z mA?
webasek
Musisz ją podać w zapytaniu tam gdzie wysyłasz czyli zamiast cos.php powinno być
  1. <?php
  2. cos.php?iduser=$_SEESION['id']
  3. ?>


albo prześlij jako formularz i post
!*!
czyli:

Kod
function SendRequest() {
    var req = mint.Request();
    req.Send("cos.php?userid=$_SESSION['id']", "response");
}


jednak nic to nie daje.
paziek
No bo nie możesz korzystać ze zmiennych PHP w pliku JS blink.gif
Musisz najpierw pobrać ten ID do JS, wtedy możesz z niego korzystać w kolejnych requestach.
Speedy
Możesz dodać sobie dodatkowy parametr do zapytania. W dokumentacji jest wszystko elegancko opisane: http://mintajax.pl/Przewodnik/Obiekt-Request/

btw. apropos posta powyżej: można korzystać ze zmiennych php w js, ale jeżeli nie jest on w osobnym pliku, tylko w pliku html (w tym przykładzie nie jest to określone).
W każdym razie za pomocą tej biblioteki zmiennych nie przekazuje się w taki sposób.
!*!
Speedy, czytałem to jednak nie rozumiem tego co jest tam napisane...

Kod
   function SendRequest() {
   var req = mint.Request();
   req.AddParam("id", $("SESSION"));
   req.Send("cos.php", "response");
}


W taki sposób powina przesyłać się sesja?
webasek
Użyj takiej wstawki (o ile to jest plik php)

  1. <?php
  2. echo '
  3. function SendRequest() {
  4. var req = mint.Request();
  5. req.Send("cos.php?userid='.$_SESSION['id'].'", "response");
  6. }';
  7. ?>


Wiem wiem może nie zbyt elegancko ale na pewno zadziała
!*!
Tak działa, tylko... troche to chore... Po co mam umieszczać id w sesji skoro później i tak przesyłam go GETem? Mało to bezpieczne.
paziek
No dobra, ale o co w ogóle chodzi w tym temacie?
Ma być AJAX, więc poruszamy się po tej samej domenie - pewnie też i serwerze.

Skoro masz ten ID w sesji, to po co go jeszcze get'em przesyłać? Pobierz go z sesji w skrypcie docelowym.


A o sesjach to poczytaj np. tutaj
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.