PHP file_get_contents kullanırken $ _SESSION erişimini

1 Cevap php

Oldukça basit şeyler - - Ben bir e-posta gönderen bir sayfa adlı send.email.php var ben iş isteği oluşturur ve gönderir, bir sipariş id geçmektedir. Ben (URL için bir AJAX arama yapmak ve bir sorgu parametresi olarak order_id geçmek için javascript kullanın) geliştirdiği bağlamında kullanıldığında bu çalışıyor

Ben ancak şimdi ben php file_get_contents($base_url.'admin/send.email.php?order_id='.$order_id) kullanarak arıyorum başka bir uygulamada aynı sayfayı yeniden çalışıyorum. Ben sayfayı bu şekilde aradığınızda, $ _SESSION dizi isempty() = 1 boş.

I file_get_contents kullanarak yeni bir oturum başlatma yaşıyorum ve giriş ben $ _SESSION saklanan değerler var içinde bana mevcut değildir çünkü bu?

--> Thanks for the feedback. It makes sense that the new call doesn't have access to the existing session...

Ama yeni bir sorun:

Ben şimdi olsun: failed to open stream: HTTP isteği başarısız oldu! Ne zaman yürütmeye çalışıyor:

$opts = array('http' => array('header'=> 'Cookie: ' . $_SERVER['HTTP_COOKIE']."\r\n"));
$context = stream_context_create($opts);
$contents = file_get_contents($base_url.'admin/send.sms.php?order_id='.order_id, false, $context);

(Bu sadece bana erişim oturumunu izin vermez): ben onu aramak eğer HENÜZ, URL çalışıyor

$result file_get_contents($base_url.'admin/send.sms.php?order_id='.$order_id);

1 Cevap

Sunucusu istemcileri izlemek için çerezleri kullanır, çünkü öyle. Tarayıcınızdan sayfayı çağırdığınızda oturum tanımlama isteği boyunca geçirilir. Eğer file_get_contents işlevini kullandığınızda, hiçbir çerez geçirilir ve sunucu istemci tanımlamak olamaz. Here's a post size yardımcı olabilir.