webForumDet fria alternativet

$php_self

6 svar · 329 visningar · startad av Picklezz

PicklezzMedlem sedan jan. 2002414 inlägg
#1

Kort fråga :birp
Vad är skillnaden på $PHP_SELF och $_SERVER["PHP_SELF"] vet att dom returnerar samma sak men spelar det någon roll vad man använder???

MatteMedlem sedan aug. 20002 975 inlägg
#2

$PHP_SELF kräver att register_globals=On i din php.ini. Behöver dessutom deklareras globalt i funktioner.

$_SERVER['PHP_SELF'] funkar när register_globals både är av och på. Dessutom är den "superglobal", och behöver därför inte deklareras globalt i funktioner.

Enda nackdelen med $_SERVER['PHP_SELF'] är att det tar något längre tid att skriva. :)

PicklezzMedlem sedan jan. 2002414 inlägg
#3

Jag kan använda mig av $PHP_SELF när register_globals=Off....

MatteMedlem sedan aug. 20002 975 inlägg
#4

Picklezz skrev:

Jag kan använda mig av $PHP_SELF när register_globals=Off....

$PHP_SELF finns inte (om du inte satt en variabel med det namnet själv) när register_globals är av. Testa echo $PHP_SELF;.

När register_globals är av returnerar $PHP_SELF en varning/notis om att variabeln inte är definierad. Har du varningar/notiser bortkopplade så returneras ingenting. Därför kan

<form action="<?=$PHP_SELF ?>">

fungera likadant som

<form action="">

och åtminstone i IE postas formuläret då till samma sida, vilket ger ett intryck utav att $PHP_SELF är på. Kolla outputens källkod.

Så har jag läst mig till att det ska fungera och så har det fungerat hos mig när jag testat. Men överbevisa mig gärna, för funkar det annorlunda hos dig så är jag mycket nytfiken på varför.

PicklezzMedlem sedan jan. 2002414 inlägg
#5

hmm...sant...men nu är det nått som inte stämmer för jag har ju inte register_global = on men ändå fungerar det tydligen i några script...
nu blir jag förvirrad för det är gamla script jag har som det står så i...men dom fungerar nu med...

PicklezzMedlem sedan jan. 2002414 inlägg
#6

hehe....nu såg jag vad det var...
alla mina script som använda det hette index.php så när då $PHP_SELF inte gav nått värde så skrev den ut http://domän/mapp/?asadsd=aaa
och då fungera det även om $PHP_SELF inte gav ut att det skulle stå index.php emellan... :birp fan vad jag är bra på att skriva mina script så att dom fungerar även om dom inte borde det §e :P :P

MatteMedlem sedan aug. 20002 975 inlägg
#7

  :e :e

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