Php oturumları nasıl kullanılır - bu kodu yanlış olan ne?

5 Cevap php
<?php
session_start(); 
if(isset($_SESSION['views']))   {
    $_SESSION['views'] = $_SESSION['views']+ 1; }
else {
    $_SESSION['views'] = 1; }
echo "views = ". $_SESSION['views']; 
?>

Ben oturumu kurmak ve her tazelede oturumu artırmak için çalışıyorum. Ama onun her zaman $_SESSION['views'] için "1" geri. Ne bu kod ile yanlış?

5 Cevap

Her yerde unset çağıran ve emin çerezleri etkin yapmak değil emin olun.

Olduğu gibi-o pasajı yüklendi:

Click here to test...

Bu benim için çalışıyor. Deneyin. Bir kaç kez yenileyin vurdu.

Sizin için işe yaramazsa bu tarayıcı ayarları bulunuyor. Benim sunucuda ancak sizinkiler sizin için çalışıyorsa o zaman php kurulumu ile ilgili bir sorun var.

Tarayıcınızda çerezlerin etkin olup olmadığını kontrol edin, sizin php.ini kontrol edin. Senin kod çalıştı ve benim için çalıştık.

Bu tarayıcı önbelleği olabilir, Ctrl + F5 deneyin. Senin kod ile yanlış bir şey yok

deneyin:

<?php
session_start(); 
if(isset($_SESSION['views']))   {
    $_SESSION['views']++;
else {
    $_SESSION['views'] = 1; }
echo "views = ". $_SESSION['views']; 
?>
  1. directly session_start () sonra $ _SESSION ['izleme'] echo; ve çıkış Examin.
  2. Emin destroying bu oturum ya da başka herhangi bir komut değil emin olun.

Aynı sorunları olan diğer millet için bir ipucu olarak: şimdi aynı sorun vardı - ve yukarıdaki test parçası ile, neden öğrendim. Herhangi modrewrites için dikkat! Ben index.php iki kez yüklenecek neden (yönlendirme için bir kez ve bir kez gerçek ekran için) her tazelede olan, benim sayfa için kötü bir modrewrite vardı. Bazı garip adına dosyayı yeniden adlandırmayı deneyin ve tekrar test edin.