simplexml_load_file ve $ _SESSION

1 Cevap php

Ben PHP simplexml_load_file ve aktif değişkenler kullanarak bir sorun var.

So, I have 2 PHP files, one generates some XML and the other one reads it. The file that generates XML should read some $_SESSION vars, which had been set in the other, but it won't...

Örneğin, ilk dosya gibi bir şey olduğunu söylüyorlar:

DOSYA 1 (XML okuma)

<?
session_start();
$_SESSION['test'] = 'test!!!';
echo '<b>In file 1</b><br />';
echo 'var = '.$_SESSION['test'].'<br />';  // This correctly outputs "test!!!"
echo '<b>Reading file 2</b><br />';
$xml = simplexml_load_file("http://www.someurl.com/2.php");
echo 'var = '.$xml['var'];                 // This does <b>NOT</b> output "test!!!"... why?
?>

DOSYA 2 (XML oluşturur)

<?
header('Content-type:application/xml');
session_start();

echo '<?xml version="1.0" encoding="utf-8"?>';

echo '<test>';
echo '<var>'.$_SESSION['test'].'</var>';
echo '</test>';
?>

Garip olan şey ["test"] Ben dosyayı 2 açarsanız doğrudan o $ _SESSION okumak ETMEZ olduğunu

Ben zaten denedim (ve işe yaramadı) Şeyler

  • Ikinci dosyasında session_start () aramıyor

  • Ilk dosyada simplexml_load_file önce session_write_close () çağrılması

  • Yerine simplexml_load_file ve fsockopen kullanarak dosyayı Erişme. Bu da boş bir etiket verir ... yani simplexml_load_file bir sorun değil ...

Biraz fikir bitti ... herkes yardımcı olabilir?

Thanks nico

1 Cevap

Görünümünde bir kullanıcı / tarayıcı noktadan itibaren, oturum oturum kimliğini içeren bir çerez aracılığıyla sayfadan sayfaya geçirilir.

Bu gibi biraz:

  • sayfa 1 bir oturum oluşturur ve tarayıcıya kendi kimliğini içeren çerez göndermek
  • tarayıcı sayfası 2 istekleri ve isteği ile çerez göndermek
  • sunucu bu çerez görür; o oturumu yük sağlar
  • sayfa 2, diğer sayfalar için yeniden kullanılabilir olacağını, çerez yanında, gönderilen

Burada, iki sayfa var, ancak oturum tanımlayıcı dosyasına 2 dosyadan 1 den geçmedi - dosya 2 hatta varolan oturum vardır bilmiyor demektir.

Aslında, burada, iki müşterimiz var:

  • for file 1, the client is the guy using his browser
    • oturumu ile bir kim
  • for file 2, the client is file 1
    • bir oturum kimliği var kimin yok ki
    • dolayısıyla, onun tarayıcı kullanarak adam oturumu paylaşmak değil başka bir kullanıcı, bir