2010-04-08 14 views
5

Oturumun devam etmesini sağlamak için bir sorun yaşıyorum ve hiç bir şans aramadığım için sormam gerek.Oturum sürekliliği sorunu

Oturumumun içeriğini ilk ayarlandığında beklediğim gibi erişebilirim, ancak sayfa yenilendiğinde her şeyimi kaybediyorum ve neden göremiyorum. session_start() ayarlandı ve ben hiçbir şeyi bozma veya yok etme. Oturumlar altında PHP Bilgisi'ne baktım ve her şey yolunda görünüyor (ancak oturumlarımın bilgisi sınırlıdır).

OS 10.5'te MAMP çalıştırıyorum ve son oturumları kullandım.

+0

session.cookie_lifetime 0 değerinde ayarlanır. Bu doğru mu? – YsoL8

+0

Ben print_r ($ _ SESSION) ile boş bir dizi alıyorum; Ve oturumlar tmp klasörüne kaydediliyor, sadece erişilebilir değil. – YsoL8

+0

Çözüldü! Session_start'ı kodun en üstüne kaydırdım. PHP eğlencelidir! Üstünde sadece bir yorum bloğu vardı. – YsoL8

cevap

1

Sayfayı yeniliyorsanız, yeni bir oturum oluşturuyor ve/veya oturum değişkenlerinin üzerine yazıyor olabilirsiniz. Ayarlamadan önce bir oturum değişkeninin önceden ayarlanmış olup olmadığını kontrol etmelisiniz.

+0

, bir if deyiminde session_start'ı koymak gibi? – YsoL8

+0

Oturum_start'ın olması gerektiğini düşünmüyorum, ancak herhangi bir oturumda olmanız gereken ayarlama var. –

0

Çerezler etkinleştirildi mi? Ayrıca session_id 'i istek (url) üzerinden de geçirebilirsiniz.

1

, Josh'un dediğine göre, yeni bir tane oluşturmaya başlamadan önce oturumların varlığını kontrol etmek, $ _SESSION değişkenini kontrol etmek için bir if ifadesi kullanmak isteyeceksiniz, bu size istediğiniz sonuçları vermelidir. i kullanmak bir lil ayıklama hüner bu yapmaktır:

if($_SESSION) { 
    echo 'session exists'; 
else { 
    echo 'does not exist'; 
} 

i ler dedikleri kod bloğu anında biliyorum Bu şekilde, içinde bulunan neyin endişesi duymadan.

Bu yardımcı olur :)