PHP: IF-yapı değişkenleri ayarı?

3 Cevap php

Ben inşa eğer-içinde değişkenler ayarlayabilir miyim? Genel olarak, nerede değişkenleri ayarlamak için izin verilir?

function set_login_session ( $passhash ) 
{
    $_SESSION['login']['logged_in'] = 1;
    if ( ERROR ) return false;
}

// Does it set the Session variable?
if ( set_login_session ( $passhash ) === false)
    return false;

3 Cevap

Short answer

Evet

Long answer

Bu komut start_session çağırdı if () (önceki veya session.auto_start yapılandırma bayrağı ayarlanmış) sonra oturum değişken superglobal $ _SESSION dizisini kullanarak her yere ayarlanabilir.

Evet yapabilirsiniz ve buna izin var. Ama bir şey IF ne çalışmaz ve eğer yanlış bu durumu idare olmasıdır.

Yani genellikle ben işlevi ve geçici vars en geniş kapsamında benim büyük değişkenler başlatmak somethings yerleştirilmeye olması için ok.

Sizin durumda olsa da farkında olmalıdır. Eğer global bir değişken başlatılıyor olduğunu.

Sen HATA değişkenin ne belirtilmiş değil. Doğru olan varsa bir hata gösterir, set_login_session aslında azaltılabilir

$_SESSION['login']['logged_in'] = 1;
return !ERROR;

ve dış kod

return set_login_session( $passhash );

Böyle açık bool değer karşılaştırmalar yapmaya gerek yok.

Ve evet, bu fonksiyonlarda değişkenleri ayarlamak, ama emin değişken alınan kod yolu ne olursa olsun, her zaman ayarlanır yapmak için mükemmel geçerli olduğunu, bu nedenle kod kullanılan hiçbir başlatılmamış / unexistant değişkenler vardır. Aksi takdirde komut çıktısı en azından, büyük yağ uyarılar, bela veya ediyoruz.

Başlayan bir oturum varsa $ _SESSION mevcut olmalıdır. Varsa hiç sorun değil, bunun içinde ['logged_in'] ['login'].