När jag kollar en variabels innehåll och jag inte vet om variabeln existerar, hur gör jag det på enklast vis utan att få "Undefined index"-felet? Nyligen skulle jag t.ex. kolla om en kaka innehöll ett visst värde enligt följande:
if ($_COOKIE['foo'] == 1) {
}
Jag får då naturligtvis en "notice" om "undefined index". För att komma runt detta kan jag köra någon av dessa:
if (isset($_COOKIE['foo']) && $_COOKIE['foo'] == 1) {
}
if (@$_COOKIE['foo'] == 1) {
}
Har jag missat något grundläggande i php eller måste man vara så här omständlig?
Allt sånt där påverkas ju av inställningarna i php.ini
Så om man vill vara säker på att allt ska fungera på olika servrar med olika inställningar så måste man vara noga med hur man kodar. Tycker att det verkar som att du har fattat helt rätt, ibland är det omständligt.
PHP är ett "snällt" språk. Det låter dig använda index som inte finns. De sätts då till något "intetsägande". Dvs heltal blir 0, flyttal 0.0, sträng "",... Så om du befinner dig i läget att din $_COOKIE array innehåller endast ett index, tex "bar" och du kollar:
if ($_COOKIE['foo'] == 1)
så har du troligtvis efter kollen två index satta!! $_COOKIE['foo'] är nu 0.
Om du inte vill att "foo" ska skapas om den inte finns så måste du skriva:
if (isset($_COOKIE['foo']) && $_COOKIE['foo'] == 1)
För nu kollar du först om den är satt, och OM den finns kollar du värdet i den.
Därför att du inte ha något index 'Online' i din array $lang_chatbox.
Hur skapas arrayen $lang_chatbox ?
Förstår inte riktigt hur du menar, är inte riktigt så bra på detta område hehe.
Men allting fungerar kanon iaf, förutom att det dära lilla felmesset finns med längst ner... undefined index bla bla..