PHP Session PHP5 çalışmıyor

6 Cevap php

Login.php ve index.php: ben 2 sayfa var. Iki sayfa ile başlamak

session_start();

Ben ayarlandığında

$_SESSION['user'] = "name";

login.php ve açık index.php daha içinde, benim oturum nesne boştur. Nasıl olur?

EDIT:

IE 7 etki alanım için büyük erişim vardı:. Sorun buldum. Ancak, yerine müşteri, bir oturum sunucuda depolanan düşündüm? Neden benim etki IE büyük erişimi var daha? (http://www.pcwindowstips.com/2007/09/04/how-to-enable-cookies-in-internet-explorer-7/)

6 Cevap

Ben yerine müşteri, bir oturum sunucuda depolanan düşündüm? Neden benim etki IE hibe erişimi var daha? (http://www.pcwindowstips.com/2007/09/04/how-to-enable-cookies-in-internet-explorer-7/)

Oturumları çalışmak yolu bir oturum cookie session ID içeren site için depolanmış olmasıdır. Her sayfa yük oturum kimliği tanımlama okuduğunda sunucu kim bilir tek yoludur. $ _SESSION Tüm verileri her kullanıcı için sunucuda depolanan, ancak çerez $ _SESSION veri almak için hangi bilmek sunucu için ayarlanmış olması gerekir.

Onların oturum kimliği tanımlama elde eğer aslında başka bir kullanıcı "haline" neden de budur.

İnternet Explorer'in çoğu diğer tarayıcılardan daha sıkı bir çerez politikası var. Kontrol için session cookie parameters (session_get_cookie_params() ) and try to replace the default values by explicit values where possible. Additionally you might send a fake P3P policy Internet Kaşifler karşılamak için ayrıca bkz.

Belki php.ini Bu değişken, varolan bir yola haritalama

session.save_path = "C :/ / yanlış yol"

İşte birisi için ışık tutabilir başıma bir şeydir. Benim oturum düzgün çalışma değildi. IE 8 ve Firefox oturum bilgilerini kaybetme edildi.

Ben bir dosya dahil. Bu dahil dosya firar ve Sorgular sonra fazladan satırbaşı vardı?>

Bu satırbaşı oturumu başladı. Include sonra ben session_start koydu. BOOM.

Burada pek bilgi, benim psişik güçlerini kullanmaya çalışacağım.

Kullanıcı günlükleri sonra, oturum var ayarlayın ve daha sonra bir http başlık kullanarak index.php kullanıcıyı yönlendirmek? Eğer öyleyse, ben oturum tanımlama kullanıcıya gönderilen alır sanmıyorum. Bu durumda ise, çözeltiler şunlardır:

  1. session_start () çağrısı giriş formu başlangıçta (sadece ona geri kullanıcı mesaj sonra) görüntülenirken; veya:
  2. "başarılı bir giriş!" gösterilecek mesajı ve ardından bir meta-yenileme ile yönlendirme, ya da sadece index.php için bir bağlantı sağlar.


Ayrıca size bir şekilde yeni bir oturum başlıyor olmadığını görmek için, iki sayfada oturum kimliği dökümü deneyebilirsiniz:

echo 'Session ID is: ' . SID . "<br/>\n"

Çerezler etkin ve eğer doğrulamak gereken hiçbir şey session_start () aramadan önce tarayıcıya gönderilen (bu başlangıçta veya arşiv sonunda boş satırları içerir).