PHP: Variablen funktionieren nicht überall in der Datei
Verfasst: 09.08.2003 13:45
Hi
etwas kurios ... habe das tool CoolMon und möchte nun mittels PHP stats auf einer HP anzeigen lassen (lokal):
So sieht die .php aus:
usw. usw.
Was nicht geht: <? echo "$HTTP_USER_AGENT" ?> (ob mit oder ohne "" und ; am ende) und auch andere variablen ... ABER wenn ich diesen Tag VOR dem 1. PHP-Bereich, also direkt UNTER <body> setze, wird es ausgeben. Naja dann hab ich mal im oberen Bereich, unter body <? $test = "blabla"; ?> gesetzt und unten, anstatt <? echo "$HTTP_USER_AGENT" ?> halt <? echo "$test"?> (habs mit und ohne "" probiert!) gesetzt - und auch diese Variable wurde NICHT angezeigt.
Ich vermute das in der function system_stats() irgendwas ist, was es verbietet nachträglich variablen anzuzeigen/zu parsen ...
Ebenfalls kurios weiter unten hab ich <? echo @getHostByAddr($REMOTE_ADDR);?> stehen, dieses klappt!! Remote_Addr alleine, aber ebenfalls nicht -- also die Variblen werden wohl ausgelesen, aber nicht geparsed ...
Ähnliches Problem hab ich dann auch noch bei einigen (nicht allen!) Variablen die aus der Funktion resultieren
<? echo urldecode($stats['0']['temperature_2']); ?> <- Funktioniert;
<? echo urldecode($stats['0']['PageFree']); ?> <- Funktioniert nicht, aufruf aber richtig - vermute mal das diese Problem mit dem Problem was ich mit normalen Vars hab zu tun hat ...
Jemand ne idee woran das liegt und wie ich das gefixt bekomme?
Bis denne
Patrick
PS: global-register ist in der php.ini ON
PPS: meine alte statistikseite ist ähnlich aufgebaut: html-php-html-php usw. und hier klappt es wunderbar
etwas kurios ... habe das tool CoolMon und möchte nun mittels PHP stats auf einer HP anzeigen lassen (lokal):
So sieht die .php aus:
Code: Alles auswählen
<html><title>System-Stats</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
<body><body bgcolor="#000000" text="#FF0000">
<?
$func_name="system_stats";
function system_stats() {
$file = "http://istdochegal"; // change this
$parser = xml_parser_create();
$data = implode(" ", file($file));
xml_parse_into_struct($parser, $data, $d_ar, $i_ar);
$i=0;
foreach($d_ar as $element) {
if (!preg_match("/^s+$/", $element[$value])) {
$tag = $element[tag];
$stats[$i][strtolower($tag)] = $element[value];
} elseif (isset($element[attributes])) {
$stats[$i][id] = $element[attributes][ID];
$i++;
}
}
?>
<h1 align="center">Übersicht</h1>
<p> </p>
<table width="560" border="1" cellspacing="0" cellpadding="0" align="center" bordercolor="#333333">
<tr>
<td width="139">Dein Browser und OS</td>
<td width="421"><? echo "$HTTP_USER_AGENT" ?></td>
</tr><tr>
Was nicht geht: <? echo "$HTTP_USER_AGENT" ?> (ob mit oder ohne "" und ; am ende) und auch andere variablen ... ABER wenn ich diesen Tag VOR dem 1. PHP-Bereich, also direkt UNTER <body> setze, wird es ausgeben. Naja dann hab ich mal im oberen Bereich, unter body <? $test = "blabla"; ?> gesetzt und unten, anstatt <? echo "$HTTP_USER_AGENT" ?> halt <? echo "$test"?> (habs mit und ohne "" probiert!) gesetzt - und auch diese Variable wurde NICHT angezeigt.
Ich vermute das in der function system_stats() irgendwas ist, was es verbietet nachträglich variablen anzuzeigen/zu parsen ...
Ebenfalls kurios weiter unten hab ich <? echo @getHostByAddr($REMOTE_ADDR);?> stehen, dieses klappt!! Remote_Addr alleine, aber ebenfalls nicht -- also die Variblen werden wohl ausgelesen, aber nicht geparsed ...
Ähnliches Problem hab ich dann auch noch bei einigen (nicht allen!) Variablen die aus der Funktion resultieren
<? echo urldecode($stats['0']['temperature_2']); ?> <- Funktioniert;
<? echo urldecode($stats['0']['PageFree']); ?> <- Funktioniert nicht, aufruf aber richtig - vermute mal das diese Problem mit dem Problem was ich mit normalen Vars hab zu tun hat ...
Jemand ne idee woran das liegt und wie ich das gefixt bekomme?
Bis denne
Patrick
PS: global-register ist in der php.ini ON
PPS: meine alte statistikseite ist ähnlich aufgebaut: html-php-html-php usw. und hier klappt es wunderbar