PHP_SELF ist weg

Ashnazug

Mitglied
Guten Tag Freunde der Nacht

Ich hab da ein Problem das meine Fähikeiten übersteigt.
Bei Folgendem Code
Code:
<?php
$page = $_SERVER['PHP_SELF'];
echo $page;
?>
Krieg ich volgende Fehlermeldung "Undefined variable: PHP_SELF".
Irgendwie scheint mit des PHP_SELF abhandengekommen zu sein.
Was zur Folge hat das so sachen wie
Code:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
nich mehr funtionieren und das ist ziemlich frustrierend.
Bitte helf mir mein PHP_SELF wieder zu bekommen oder sagt mir das ich sonst was falsch mache.

Gruss Ashnazug
 
Ist es möglich, dass das eine Array-Element oder gar das gesamte Array versehentlich gelöscht wurde? Sonst könntest du es auch mit der $_SERVER['SCRIPT_FILENAME']-Variable probieren.
 
Danke für die schnelle Antwort.

Ich hab mal folgenden Code verwendet
Code:
<?php
$page = $_SERVER['SCRIPT_FILENAME'];
echo $page;
?>
das zeit mir dan folgendes an "C:/PHP/php.exe".
Des heisst ja dann die SCRIPT_FILENAME Variable funktioniert liefert aber ned das gewünschte Ergebniss.
@Gumbo
Wo soll den ein Array gelöscht worden sein in meinem Code oder in der PHP installation?
In meinem Code kommen nähmlich keine Arrays vor, vielleicht ist auch das der Fehler.

@diggity
Kann sein das ich mich irre aber sollten $_SERVER['PHP_SELF'] und $PHP_SELF nicht das selbe sein?
Ich krieg auf jedenfall die selbe Fehlermeldung.
 
Ok ich poste des jetzt mal ganz frech unformatier wie ichs aus dem Browser bekomme.
Code:
Array
(
	[REDIRECT_STATUS] => 200
	[HTTP_ACCEPT] => */*
	[HTTP_ACCEPT_LANGUAGE] => de-ch
	[HTTP_ACCEPT_ENCODING] => gzip, deflate
	[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
	[HTTP_HOST] => 192.168.1.2
	[HTTP_CONNECTION] => Keep-Alive
	[PATH] => C:\\WINNT\\system32;C:\\WINNT;C:\\WINNT\\System32\\Wbem;C:\\Programme\\QuickTime\\QTSystem\\
	[SystemRoot] => C:\\WINNT
	[COMSPEC] => C:\\WINNT\\system32\\cmd.exe
	[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
	[WINDIR] => C:\\WINNT
	[SERVER_SIGNATURE] => 
Apache/2.0.52 (Win32) Server at 192.168.1.2 Port 80
	[SERVER_SOFTWARE] => Apache/2.0.52 (Win32)
	[SERVER_NAME] => 192.168.1.2
	[SERVER_ADDR] => 192.168.1.2
	[SERVER_PORT] => 80
	[REMOTE_ADDR] => 192.168.1.2
	[DOCUMENT_ROOT] => C:/Programme/Apache Group/Apache2/htdocs
	[SERVER_ADMIN] => ashnazug@hotmail.com
	[SCRIPT_FILENAME] => C:/PHP/php.exe
	[REMOTE_PORT] => 4380
	[REDIRECT_URL] => /index2.php
	[GATEWAY_INTERFACE] => CGI/1.1
	[SERVER_PROTOCOL] => HTTP/1.1
	[REQUEST_METHOD] => GET
	[QUERY_STRING] => 
	[REQUEST_URI] => /index2.php
	[SCRIPT_NAME] => /php/php.exe
	[PATH_INFO] => /index2.php
	[PATH_TRANSLATED] => C:\\Programme\\Apache Group\\Apache2\\htdocs\\index2.php
	[PHP_SELF] => /index2.php
	[argv] => Array
		(
		)
	[argc] => 0
)
Sehe ich das richtig dass alles was in [] steht und GROSS geschrieben ist, variabeln sind die ich mit $_SERVER[] aufrufen kann?
 
Ja, die print_r()-Funktion gibt die Struktur eines Arrays in einer lesbaren Form aus, der in den eckigen Klammern stehende Teil entspricht dabei dem Schlüssel. Der Ausgabe zufolge gibt es jedoch die $_SERVER['PHP_SELF']-Variable.
 
:confused:
Jetzt wo ich sehe das die Variable existier kann ich sie auch wieder aufrufen mit exakt
dem ersten von mir gepostetem Code. Sowas find ich ******.
Allerdings funktioniert
Code:
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
nicht es werden keine Variablen übergeben, hab ich hier noch einen Syntax fehler drin?
 
Zurück