Bir oturumu aktif olup olmadığını kontrol etme

3 Cevap php

Ben captcha sınıf inşa ediyorum. Ben bir PHP oturumda oluşturulan kodu saklamak gerekir. Bu şimdiye kadar benim kodudur:

<?php

class captcha
{
    private $rndStr;
    private $length;

    function generateCode($length = 5)
    {
        $this->length = $length;
        $this->rndStr = md5(time() . rand(1, 1000));
        $this->rndStr = substr($rndStr, 0, $this->length);

        if(session_id() != '')
        {
            return "session active";
        } else {
            return "no session active";
        }
    }
}

?>

Ve bu kodu kullanarak kontrol etmek için:

<?php

include('captcha.class.php');
session_start();

$obj = new captcha();
echo $obj->generateCode();

?>

Ama bu bile bir PHP hata sayfası için çıkış şey değil. Bu yüzden kimse biliyor mu? Ve ben session_start() kullanarak bir oturumu başladım eğer ben kontrol edebilirim daha iyi bir yolu var mı?

Teşekkürler.

3 Cevap

$this->rndStr = substr($rndStr, 0, $this->length); 
        return $rndStr;  //You return before the if statement is processed
        if(session_id() != '') 
        { 
            return "session active"; 
        } else { 
            return "no session active"; 
        } 

Yukarıdaki yorumladı kod Cevap

Edit: Ve sizin sorunuza değişti ve cevap rahatsız insanlar için güzel değil, dönüş hattı kaldırıldı :)

i sınıf test edildi, sayfa aktif oturum var, belki bu çizgiyi denemek istiyorum, tamam burada görünüyor:

include(dirname(__FILE__).'/captcha.class.php');

Sen bir hata var, bu yüzden ayarını hata raporlama düzeyi ve görüntüleme hataları kontrol öneririz - kısa öğreticiler bir sürü bunu nasıl.

Notice: Undefined variable: rndStr in /home/eric/localhost/test.php on line 12

Tabii ki bu $rndStr yerine yazdım çünkü $this->rndStr.

Ben hata kenara, kodunuzu çalıştırdığınızda, ben beklenen çıkışını gördüm.

oturumu aktif

Eğer diğer komut tarayıcı başarıyla çıktı yapabiliyor musunuz?