SkarreMedlem sedan apr. 20012 427 inlägg 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?
PeddaMedlem sedan juni 20006 032 inlägg 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.
aasahMedlem sedan mars 20034 471 inlägg 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.
cyberaxMedlem sedan okt. 20057 inlägg undefined index problem
nån som kan hjälpa mig med det ?
får hela tiden Notice: Undefined index: Online in c:\webbserver\cyberax\chatbox.php on line 155
bifogar chatbox.php i textformat
MatteMedlem sedan aug. 20002 975 inlägg
cyberax skrev:
nån som kan hjälpa mig med det ?
får hela tiden Notice: Undefined index: Online in c:\webbserver\cyberax\chatbox.php on line 155
Därför att du inte ha något index 'Online' i din array $lang_chatbox.
Hur skapas arrayen $lang_chatbox ?
cyberaxMedlem sedan okt. 20057 inlägg
Matte skrev:
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..
tack för snabbt svar iaf ..
MatteMedlem sedan aug. 20002 975 inlägg Någonstans har du kod dår arrayen $lang_chatbox deklareras eller skapas.
Leta upp denna kod. Du hittar den i någon av filerna du inkluderar.
PeddaMedlem sedan juni 20006 032 inlägg <?php
// Language definitions used in uploads.php
$lang_chatbox = array(
'Chatbox' => 'ChatBox',
'Messages' => 'Meddelanden',
'Anti flood' => 'Du kan ej skicka samma meddelanden samma tid.',
'Anti blank' => 'Du kan ej skicka tomt meddelande.',
'Btn Send' => 'Skicka',
'Btn Refresh' => 'Uppdatera',
'Online' => 'Online',
);