Ben php ile dosya verdiğinizde / html benim oturum verileri sıfırlar

1 Cevap php

Ben oturum değişkenlerine dayalı kullanıcı giriş verileri ile oluşturulmuş bir web tabanlı bir sistemi var.

Bir kullanıcı oturum açmış ve csv veya xls tabloları ihracat çalıştığında, bazen oturum verileri silin görünüyor ve kullanıcı sistemin 'çıkartılmamış' edilir.

Bu benim dosyayı hizmet kullanıyorum başlık kodudur.

    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment;filename=file.xls");
    header("Content-Transfer-Encoding: binary ");

Yardımcı olursa o IE6 üzerinde daha yaygın gibi görünüyor. Herkes benzer sorunlar vardı, merak edildi.

Bu denedim son başlığıdır. Hala şans. Ayrıca FF / Opera / Safari aynı prosedürü test ve iyiyiz.

header('Cache-Control: no-store, private, no-cache, must-revalidate');     // HTTP/1.1
	header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false);  // HTTP/1.1
	header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');                  // Date in the past  
	header('Expires: 0', false); 
	header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
	header('Pragma: no-cache');
	header("Content-Type: application/vnd.ms-excel");
	header("Content-Disposition: attachment;filename=$fileName");
            header("Content-Transfer-Encoding: binary ");

1 Cevap

Pragma: public başlık açmış kullanıcılar için tamamen uygunsuz olduğunu ve bir şey yardım edecek değildir.

Ben de size Content-Type başlıkları çok kullanıyorsanız neden olarak şaşkın biraz değilim. Birini ve sadece birini seçin.

Son olarak, bu açıkça kuruyoruz başlıkları ... Sen session_destroy veya herhangi bir çağrı yok setcookie etrafta mı yüzen?