Bunun yerine PHP gerçek oturumu çağıran bir OTURUM değeri tutan bir değişken istemelidir?

2 Cevap php

(Varsayılan olarak gibi) bir PHP oturum değişkeni dosyada saklanır sonra Diyelim ki bir oturum değişkeni içine bir kullanıcının adını saklamak diyelim ...

$_SESSION['username'] = 'Jason Davis';

Şimdi bir sayfa inşa edildiğinde, ben 100 kere o dosyaları oturum vurmak istiyorsunuz, bir sayfa inşa sürecinde 100 kez $ _SESSION ['username'] aramak ve onlara bir okuma yaparsanız?

Aynı şey ama oturumu en MySQL depolanan ile. Bu oturumları tablosundan adını almak için veritabanını 100 kez sorgulayabilir misiniz?

Ben sadece bir sayfa oturum değişkeni 1 kez aradıktan sonra yerel bir değişkene depolamak ve diğer 99 kez bu kullanarak gerektiğini öğrenmek için çalışıyorum. Bu gibi ...

$username = $_SESSION['username'];
echo $username; // 100 times throughout all the files that build my page.

Not: Bu sadece bir örnek olduğunu fark edin, gerçekte sadece bir kullanıcı adı oturumda daha sonra erişmek için ihtiyacınız olacak ve 100 kat büyük olasılıkla daha az olurdu ama çoklu oturum anahtarı / değerlere yayılmış

2 Cevap

Hayır, oturum verileri session_start is called and written when either the script runtime is ended or session_write_close çağrıldığında okunur.

Dosyası session_start() işlevini çağırdıklarında sadece okunur.

MySQL gelince, bir sorgu yaparsanız, kullanıcı adı almak ve bir değişkende saklamak, artık elbette herhangi bir ek sorgular olmayacaktır. Eğer bir değişken bir şey saklamak eğer bir kopya ve sen onu aldım orijinal değere sahip bir şey yapmak zorunda değildir.

best regards, lamas