webForumDet fria alternativet

Undefined index

PHPur PHP

10 svar · 428 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

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?

Medlem sedan juni 20006 031 inlägg
#2

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.

Medlem sedan sep. 200542 inlägg
#3

Ehum...glöm det. :r

Medlem sedan mars 20034 471 inlägg
#4

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.

Medlem sedan okt. 20057 inlägg
#5

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

Medlem sedan aug. 20002 975 inlägg
#6

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 ?

Medlem sedan okt. 20057 inlägg
#7

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 ..

Medlem sedan aug. 20002 975 inlägg
#8

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.

Medlem sedan okt. 20057 inlägg
#9

Matte skrev:

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.

bifogar en fil

Medlem sedan juni 20006 031 inlägg
#10
<?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',

);
Medlem sedan okt. 20057 inlägg
#11

Pedda skrev:

<?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',

);

TACK !!!

130 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)