webForumDet fria alternativet

Undefined Variable

PHP

2 svar · 578 visningar · startad av SoulGod

Medlem sedan aug. 20051 200 inlägg
Frågan#1

Jag får följande felmeddelanden (raden under visar koden som körs)
Är helt ny på PHP, så förstår ingenting av det tyvärr...

Undefined variable: _SESSION in *.php on line 48
$HTTP_COOKIE_VARS = $_SESSION;

Undefined index: HTTP_CLIENT_IP in *.php on line 1488
if (validip($HTTP_SERVER_VARS['HTTP_CLIENT_IP'])) return $HTTP_SERVER_VARS['HTTP_CLIENT_IP'];

Undefined index: HTTP_X_FORWARDED_FOR in *.php on line 1492
elseif ($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']!="")

Undefined variable: lang_uri in *.php on line 2718
if (!$lang_uri)

Vad brukar dessa bero på?

Säkert något enkelt fel, men jag hittar inget..
behöver ni se mer kod, skrik till

Medlem sedan mars 20034 471 inlägg
#2

Vad försöker du göra egentligen?

Allt du använder är mycket speciella arrayer och variabler, avsedda för olika saker.
$HTTP_COOKIE_VARS är avsedd för att hantera cookies, $_SESSION är avsedd för att hantera sessioner (något helt annat). Att sätta dem lika med varann är rena rappakaljan.

I $HTTP_SERVER_VARS lagras diverse info om servern, och det är föga förvånande att uppgiften om klientens IP inte går att hitta i den...

Så alltså, vad är det meningen att skriptet ska göra?

Medlem sedan apr. 2008137 inlägg
#3

$HTTP_SERVER_VARS används inte längre i PHP5. Du bör uppdatera och använda $_SERVER istället. Vill du ha klientens IP använder du $_SERVER['REMOTE_ADDR'].

Vad gäller dina undefined varningar så betyder det precis vad det låter som. Variabeln du försöker accessa är inte definierad. I php4 var denna varning avstängd som default, vilket inte är helt bra. I princip ska man se till att alltid definiera sina variabler innan man försöker använda dom till någonting.

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)