SSI werden nicht ausgeführt?

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

SSI werden nicht ausgeführt?

Beitrag von Dungeonwatcher »

Hi! :)

Gegeben ist ein ziemlich unbekannter kleiner Webserver Web/2, PHP, MySQL und die Forensoftware PHPBB.

Ich bin gerade dabei in mein Forum einige eigene Seiten einzufügen. Darunter soll auch eine sein, auf der die HW, SW und ein kleiner Status des Rechners/Servers zu sehen ist. Mit dem Status habe ich jedoch so mein Problem. Der Server hat einige SSI (ServerSideIncludes) Befehle, welche ich gerne benutzen möchte. Binde ich diese in eine reine HTML-Seite ein, werden sie auch sauber ausgeführt. Schreibe ich sie jedoch in ein Template, passiert nichts. :(

--> http://dungeon-bbs.homeip.net/forum/system.php

Wo ist mein Denkfehler?

Bye/2
Zuletzt geändert von Dungeonwatcher am Di 22.Nov, 2005 15:10, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Was hast Du denn in das Template geschrieben?
Es ist die Frage, ob der Server SSI-Elemente die <sysuptime> überhaupt öffentlich zulässt.
Dafür ist es ja mit SSI geschützt ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Hi! :)

Im Template steht es so:

Code: Alles auswählen

<tr> 
<td class="row1" align="left"><span class="row1">System Uptime:</span></td>
<td class="row1" align="left"><span class="row1"><sysuptime></span></td>
</tr>
Mittlerweile weiss ich, das ich mich wohl entscheiden muss, entweder SSI oder PHP. Dann würde ich PHP gerne vorziehen. Du hast nicht zufällig 'ne Idee wie das aussehen könnte? ;)

Bye/2
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Diese Werte stehen PHP meinem Wissen nach nicht zur Verfügung.
Ich kenne da auch keinen echten Ersatz.
Bislang...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

'n Abend! :)

Sind solche Konstrukte in PHPBB nicht statthaft?

Code: Alles auswählen

<table>
     <tr>
          <td>Deine IP ist:></td>
          <td><?php echo $_SERVER["REMOTE_ADDR"]; ?></td>
     </tr>
</table>
Jedenfalls werden diese Einträge im Template ignoriert.

Bye/2
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Besser in der .php-Datei erstellen, den Template übergeben und im tpl dann durch einen Platzhalter anzeigen lassen.
Wie das auch mit den restlichen Werten geschieht.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Uff. Irgendwie erschliesst sich mir noch nicht die Logik in den PHP-Dateien von PHPBB. :rolleyes:

Gibt es evtl. in deinem Dateifundus eine "DAU"sichere Kurzbeschreibung/-erklärung dazu?

Ich muss zugeben, das mir die Erklärungen des Sources nicht weiterbringen. Ich brauche idealerweise ein praktisches Beispiel. [schild=5 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]flehend auf den Kniend rutsch[/schild] ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Folgendes:
Finde in der PHP-Datei irgendwas wie

Code: Alles auswählen

$template->assign_vars(array(
und füge danach ein

Code: Alles auswählen

'REMOTE_ADDR' => $_SERVER["REMOTE_ADDR"],
In der TPL-Datei nach obigen Beispiel dann:

Code: Alles auswählen

<table>
     <tr>
          <td>Deine IP ist:></td>
          <td>{REMOTE_ADDR}</td>
     </tr>
</table>
Wenn es aber um die wirkliche IP des Users geht wäre dieses hier in der PHP-Datei korrekter:

Code: Alles auswählen

'REMOTE_ADDR' => $userdata['user_ip'],
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Hi!

Nachdem ich nun Stunden damit verbracht habe es nach deinen Anweisungen zum laufen zu bringen, gebe ich es mal kurz auf. Es funktioniert nämlich nicht. :(

So habe ich verstanden:

Code: Alles auswählen

$template->assign_vars(array(
	'remote_addr' => $_server["remote_addr"]));
Die Angabe "remote_addr" legt ein Keywort/eine Variable fest, welches durch das Ergebnis ersetzt wird. D.h. anstelle der Angabe/der Variable "{remote_addr}" im Template müsste dort in der erstellten HTML-Datei das Ergebnis stehen.

Der Parameter "$_server" ist der Befehl für PHP.

So habe ich es eingetragen:

In der PHP-Datei:

Code: Alles auswählen

// assign template
$template->set_filenames(array(
        'body' => 'system.tpl')); 

// IP-Adresse
$template->assign_vars(array(
	'remote_addr' => $_server["remote_addr"]));


$template->pparse('body');

// standard page footer
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
Im Template:

Code: Alles auswählen

<tr>
<td class="row1" align="left">IP:</td>
<td class="row1" align="left">{remote_addr}</td>
</tr>
Es wird aber nichts angezeigt. Wo ist mein Denkfehler?

Bye/2
Zuletzt geändert von Dungeonwatcher am Do 10.Mär, 2005 17:22, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Code: Alles auswählen

$_server["remote_addr"]
ist so nicht definiert. Das muss groß geschrieben werden, also so:

Code: Alles auswählen

$_SERVER["REMOTE_ADDR"]
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="oxpus - Do 10.März, 2005 18:39";p="25455"]ist so nicht definiert. Das muss groß geschrieben werden[/quote]
Ich fasse es nicht. So funktioniert es tatsächlich. :cool:

Nun wird allerdings als Server-IP die Intranet-IP (192.168.1.2) angezeigt. Lässt sich dort auch die aktuelle InterNet-IP (momentan 83.169.164.95) anzeigen?

THNX
Zuletzt geändert von Dungeonwatcher am Do 10.Mär, 2005 21:15, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich glaube, das geht nicht:
'REMOTE_ADDR'
Die IP-Adresse des Rechners, der die aktuelle Seite angefordert hat.
So der Original-Auszug aus der PHP Offline-Hilfe.
Wenn der Intranet-PC (192.168.1.2) die Seite anfordert und dem Client (83.169.164.95) zur Verfügung stellt, dann kann PHP nur den Intranet-PC, also die IP 192.168.1.2 sehen.
Du kannst es aber auch nochmal mit der Methode des phpBB versuchen, also wie in der common.php aufgeführt:

Code: Alles auswählen

$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : getenv('REMOTE_ADDR') );
$user_ip = encode_ip($client_ip);
Dabei steht $HTTP_SERVER_VARS analog $_SERVER zur Verfügung, die beim Aufruf von PHP (also beim Start eines PHP-Scripts) die gleichen Inhalte haben, aber dennoch getrennt behandelt werden.
Ebenso verhält es sich mit $HTTP_ENV_VARS und $_ENV.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten